Commit Graph

332 Commits (release/4.3a0)

Author SHA1 Message Date
Matthew Broadway 5670c73158 improved cython wrapper python3 support 2019-02-28 09:14:39 +00:00
jlblancoc 7625c21777
Various fixes to cmake exported targets
List of changes:
 * -I boost is no longer required
   (Since the use of Boost::xxx imported targets)
 * fix missing Boost deps in imported gtsam by
   searching for Boost inside GTSAMConfig.cmake
 * Including the dirs for Eigen/MKL/SuiteSparse/Metis
   into exported targets public interface.
 * Fix missing cmake changes in wrap/*
 * Split build flags into private/public, not to
   expose to users flags that may be invasive.
 * Removed now useless include_dirs in "extra cmake"
 * Update cmake/example_project
 * Make cppunitlite to find boost headers via Boost::boost
 * Update README / INSTALL to reflect the updated minimum CMake >= 3.0
2019-02-15 22:04:04 +01:00
Jose Luis Blanco-Claraco 9ea90b5b45
port to target-based compile options and definitions
This also fixes CMake warnings on Windows
2019-01-24 10:35:26 +01:00
Jose Luis Blanco Claraco 87888f7bc3 Imported TBB targets; update gtsam_unstable cmake 2019-01-08 00:44:49 +01:00
Jose Luis Blanco Claraco 88bfbceb21 Use standard BUILD_SHARED_LIBS
Instead of custom GTSAM_BUILD_STATIC_LIBRARY
2018-12-21 13:14:40 +01:00
Frank Dellaert c1840f3d24 Removed TODO, superfluous comments 2018-11-08 09:51:01 -05:00
Frank Dellaert e38a3156c3 Adding a pre-compiled header for MSVC 2018-11-04 12:37:43 -05:00
Frank Dellaert f8793f49ff Merge branch 'develop' into fix/msvc2017 2018-10-22 19:11:21 -04:00
Frank Dellaert aae802f89c Merge branch 'develop' into feature/cython-examples 2018-10-14 10:34:07 -04:00
Frank Dellaert 5aa75b5594 Remove -a, which created huge html files 2018-10-14 10:33:22 -04:00
Duy-Nguyen Ta c2541c0fc8 re-cythonize if pyx file is updated. 2018-10-13 22:46:20 -04:00
anuppari 0a5fd70f21 Minor fix to select mkl libs based on tbb use 2018-01-12 16:08:02 -07:00
aparikh 8f20c0c9af Update FindMKL.cmake and FindTBB.cmake
- Find more recent versions of MKL
- Work with Visual Studio 2015 (MSVC14)
2018-01-09 12:02:19 -07:00
Duy-Nguyen Ta 0d47d273c6 Fix the dependency problem where cython didn't get called when the header file is updated. Also change target gtsam_cython to cythonize_gtsam. 2017-10-08 22:11:54 -04:00
Duy-Nguyen Ta 6b208c0340 fix eigency build for Linux. Only Mac OS's linker needs the dynamic_lookup option for undefined symbols 2017-08-16 22:13:38 -04:00
Duy-Nguyen Ta acad9b0339 disable all warnings while compiling cython generated cpp 2017-08-14 17:23:24 -04:00
Duy-Nguyen Ta 6fb520b89d make cython fail at the first error 2017-08-14 17:22:04 -04:00
dellaert 74a33ff222 Re-structured argument overloading to call a common function 2017-08-06 11:07:13 -07:00
dellaert 81bb1d445a Fixed cmake so that it really defines CYTHON_EXECUTABLE (instead of just threatening to do so). This has the side-benefit that compilation now works from within eclipse. 2017-08-05 16:30:20 -07:00
Duy-Nguyen Ta 931405155e move GTSAM_CYTHON_INSTALL_PATH to main CMakeLists. Set eigency install path in gtsam_extra.cmake so other non-gtsam projects can find. 2017-07-28 15:24:30 -04:00
Duy-Nguyen Ta b73e22220d remove FindClonedEigency.cmake 2017-07-28 15:22:40 -04:00
Duy-Nguyen Ta 742097aed0 eigency --> clonedEigency. Fixing bugs and improve eigency build. 2017-07-27 22:26:53 -04:00
Duy-Nguyen Ta 31eda8a38b quote ${dependencies} var so it's treated as one var in the if statement 2017-07-24 14:55:37 -04:00
Duy-Nguyen Ta aaea11dd83 deal with empty dependency list 2017-07-24 14:46:41 -04:00
Duy-Nguyen Ta 07574de9b0 also use the new cythonization mechanism for gtsam 2017-07-23 15:03:20 -04:00
Duy-Nguyen Ta b4aee31b76 allows multiple include dirs in cython command 2017-07-23 15:00:34 -04:00
Duy-Nguyen Ta 7977091e33 copy eigency into gtsam and cythonize it 2017-07-22 22:40:43 -04:00
Duy-Nguyen Ta 6b1c96869f specify libs to link with cython module for flexibility 2017-05-31 08:45:54 +08:00
Duy-Nguyen Ta cdac9a5c4c install cmake scripts to find dependencies for wrapping non-gtsam libs 2017-05-31 08:40:28 +08:00
Duy-Nguyen Ta ed31a0ae68 add numpy
It's not included in eigency include dirs in some systems
2017-05-28 02:55:19 +08:00
Duy-Nguyen Ta 1521a7e8ef compile cython using the manual 2-step process
This is to leverage all compile and linking flags within the cmake build system.
http://cython.readthedocs.io/en/latest/src/reference/compilation.html#compiling-from-the-command-line
2017-05-24 23:55:15 +08:00
Duy-Nguyen Ta 544b06510a remove whitespaces 2017-05-24 23:46:36 +08:00
chrisbeall 993c282905 Add build dependency to ensure cython wrapper is built after cpp library 2017-05-22 16:30:50 -04:00
Jing Dong 0f80f9bf41 static lib and examples compiles 2017-05-19 18:51:14 -07:00
Duy-Nguyen Ta 673806553b tabs -> spaces 2017-05-16 17:01:45 -04:00
Duy-Nguyen Ta b53a901922 only install script to the folder of the current build configuration.
Reviewed by Chris Beall
2017-05-16 16:57:13 -04:00
cbeall 265e8773ba Fix cython build when GTSAM_BUILD_TYPE_POSTFIXES is enabled. And fix cython build when gtsam is built as part of a larger project, i.e. it is not the top-level project. 2017-04-07 18:43:08 -07:00
Duy-Nguyen Ta d2dcb9133e Revert "remove redundant install_cython_files. Use install_cython_scripts instead"
This reverts commit 37033e6f16.
2017-04-07 12:10:28 -04:00
Duy-Nguyen Ta 37033e6f16 remove redundant install_cython_files. Use install_cython_scripts instead 2017-04-07 08:33:21 -04:00
chrisbeall c42cebc037 Configure __init__.py based on setting of GTSAM_BUILD_UNSTABLE. 2017-04-07 00:29:27 -07:00
Duy-Nguyen Ta e4b91fc17a better way to check Cython existence 2017-04-07 00:08:08 -04:00
Duy-Nguyen Ta 1ec09ddf6a more flexible destination folder for scripts installation 2017-03-25 23:35:46 -04:00
Duy-Nguyen Ta 0a979f6a55 install FindCython.cmake script to wrap other projects 2017-03-25 23:32:44 -04:00
Duy-Nguyen Ta b8d3292da3 force checking cython version in cmake 2017-03-21 00:55:50 -04:00
Duy-Nguyen Ta e624b6fe72 don't change matlab's generated filename (gtsam_wrapper), only cmake targets (to gtsam_matlab_wrapper) 2017-03-18 22:01:24 -04:00
Duy-Nguyen Ta 0da506b3a9 change gtsam_wrapper --> gtsam_matlab_wrapper 2017-03-18 20:32:25 -04:00
Duy-Nguyen Ta 7abcdb1b45 reorganize script folders: more reasonable packaging 2016-12-16 14:17:15 -05:00
Duy-Nguyen Ta 126de1b8a4 revert usage info: interfacePath must be absolute. 2016-12-16 00:34:07 -05:00
Duy-Nguyen Ta 70552e9f6d improve cmake Cython wrapper scripts to be usable in other projects 2016-12-16 00:26:03 -05:00
Duy-Nguyen Ta e407a42160 Merge branch 'develop' into feature/cython_wrapper
# Conflicts:
#	wrap/Module.cpp
2016-11-25 03:43:36 -05:00
Duy-Nguyen Ta c54753d106 now can build and install with cmake 2016-11-25 02:27:12 -05:00
Duy-Nguyen Ta cb9a77ee08 add option for matlab wrapper 2016-11-13 23:49:47 -05:00
chrisbeall f9de023caf Only add custom all.tests target when GTSAM_BUILD_TESTS is true 2016-10-06 14:25:40 -07:00
Ryan Estep d1cdafa3f5 Removed the boost::regex include (not used) from the matlab wrapper & removed any linking to boost::regex 2016-08-29 13:03:46 +12:00
Duy-Nguyen Ta 6068d94bea Revert "[msys] Disable dllexport/dllimport on msys2"
This reverts commit b955a0b715.
2016-08-18 10:48:05 -04:00
Manuel Naranjo b955a0b715 [msys] Disable dllexport/dllimport on msys2 2016-08-16 14:03:14 -03:00
Chris Beall 903d29214b Merged develop into feature/windows-fixes 2016-06-20 09:01:36 -04:00
Abe fbe9aac41c squash local changes on top of gtsam upstream pull from 6/14/2016 2016-06-18 23:13:59 -07:00
cbeall3 b7175428b9 Windows CMake fix for subdirectories without tests 2016-06-06 11:09:17 -07:00
Jing Dong a1b0408f5b fix CMAKE_BUILD_TYPE var to cache varible in default 2016-05-13 12:18:18 -04:00
Frank Dellaert 5a9ba414f6 Removed obsolete comment 2016-02-26 04:46:21 +00:00
Frank e7ba551523 I believe that this is the right way: CMAKE_CXX_FLAGS are set to -std=c++11 -Wall, and the different build types *append* to it. E.g., for Debug, the CMAKE_CXX_FLAGS_DEBUG (set from GTSAM_CMAKE_CXX_FLAGS_DEBUG) will be appended automatically. 2016-02-25 17:06:31 -08:00
Frank 8edf3042d8 Merge remote-tracking branch 'bitbucket/develop' into feature/improvements_and_bugfixes
Conflicts:
	cmake/GtsamBuildTypes.cmake
2016-02-24 17:36:02 -08:00
Enrique Fernandez 443bb0776b Set FLAGS for CMAKE_BUILD_TYPE None
Set the FLAGS to the ones from RelWithDebInfo CMAKE_BUILD_TYPE

See https://cmake.org/Wiki/CMake_Useful_Variables#Compilers_and_Tools

Without this, the C and CXX FLAGS are this (wrong):

--   C compilation flags            : -g -O2 -fstack-protector
--param=ssp-buffer-size=4 -Wformat -Werror=format-security
-D_FORTIFY_SOURCE=2
--   C++ compilation flags          : -g -O2 -fstack-protector
--param=ssp-buffer-size=4 -Wformat -Werror=format-security
-D_FORTIFY_SOURCE=2

and the compilation fails with this and similar errors (because C++11 is
needed):

gtsam/navigation/ImuFactor.cpp:144:15: error: ‘nullptr’ was not declared
in this scope
  return e != nullptr && base && pim;

With this changes, the C and CXX FLAGS are this (good):

--   C compilation flags            : -std=c11 -g -O3 -Wall -DNDEBUG
--   C++ compilation flags          : -std=c++11 -g -O3 -Wall -DNDEBUG

and everything compiles.
2016-02-24 17:05:12 -05:00
Enrique Fernandez 3226ec1d6a 💄 2016-02-24 17:05:07 -05:00
Frank 0372a959ee Many small improvements, bug-fixes, and tests 2016-02-24 11:01:19 -08:00
Ellon Mendes 40a567c1ed Look for NumPy C-API if building the python module 2015-12-02 13:35:17 +01:00
Ellon Mendes d51c6f3313 Fix cmake to use default python and boost python versions 2015-12-02 13:35:17 +01:00
Ellon Mendes 5b116a4a67 Add option to chose target python version to create module 2015-12-02 13:35:16 +01:00
Ellon Mendes ea6ecdd9d5 Move subdirlist macro to cmake/GtsamPythonWrap.cmake
Conflicts:
	cmake/GtsamPythonWrap.cmake
2015-12-02 13:35:16 +01:00
Ellon Mendes 2dbe7fa2e9 Add numpy_eigen as a 3rd party library.
This commit adds a simple version of numpy_eigen, copied from
gtborg/numpy_eigen commit 255c09efb82496, and with a fix released in the commit
9a75383733b3dc4bc2bb0649053949ad2bec9326 of Scheizer-Messer/numpy_eigen
(https://github.com/ethz-asl/Schweizer-Messer/tree/master/numpy_eigen)

Conflicts:
	CMakeLists.txt
	gtsam/CMakeLists.txt
2015-12-02 13:35:14 +01:00
Andrew Melim 20f5c46507 Reworked python directory structure. Added readme on constructing python module. Added first unit test for point2. Everything needed to get it passing is also here, including some renaming of variables and emitted library names
Conflicts:
	cmake/GtsamPythonWrap.cmake
	python/handwritten/examples/OdometeryExample.py
	wrap/Module.cpp
2015-12-02 13:35:14 +01:00
Andrew Melim 4e00f70e82 Updating cmake build 2015-12-02 13:35:14 +01:00
cbeall3 55ed99141e Add C++11 compiler flag to GtsamBuildTypes.cmake 2015-10-20 13:41:31 -04:00
Luca f8205bfe02 Merge branch 'develop' into feature/SmartFactors3
Conflicts:
	gtsam/geometry/CalibratedCamera.h
	gtsam/geometry/tests/testCalibratedCamera.cpp
	gtsam/geometry/triangulation.h
	gtsam/nonlinear/ExpressionFactor.h
	gtsam/slam/SmartProjectionFactor.h
	gtsam_unstable/slam/SmartStereoProjectionFactor.h
	tests/testExpressionFactor.cpp
2015-06-19 16:55:30 -04:00
cbeall3 83d02a7f27 Only install (and run) testSerialization.m if GTSAM_WRAP_SERIALIZATION is on. 2015-05-20 22:44:33 -04:00
Abe 13a4da21b2 misc bugfixes and cleanup from skydio 2015-05-13 22:26:24 -07:00
Thomas Schneider 279751c7a2 Remove -ftemplate-depth for apple with clang < 5.0. 2015-04-09 14:01:16 +02:00
Thomas Schneider 1ea5ae2253 Set -ftemplate-depth=1024 for all Clang compilers. Allows to compile
e.g. under Ubuntu with clang.
2015-04-09 13:41:14 +02:00
dellaert a4d1874af4 Merge remote-tracking branch 'origin/develop' into feature/SmartFactors3 2015-03-09 17:51:16 -07:00
dellaert c4e1c1fdad Excepted cmake line on Mac - generates error 2015-03-03 19:18:46 -08:00
cbeall3 efa266515d Fix for new warning in CMake 3.1. Variables in if statements should be unquoted 2015-02-22 20:06:00 -05:00
cbeall3 1c023e68ae Remove obsolete test macro file from install 2015-02-12 15:53:18 -05:00
cbeall3 bda7ce9f97 Move obsolete testing macros 2015-02-12 15:43:12 -05:00
cbeall3 66de1e7069 add custom all.tests target to build all tests without running them, and remove obsolete testing macros 2015-02-12 15:42:53 -05:00
Chris Beall 7cdbac4b5c Fix warnings by latest CMake 3.1. Variables should be unquoted: Policy CMP0054 is not set: Only interpret if() arguments as variables or keywords when unquoted. 2015-01-16 09:33:02 -05:00
cbeall3 53a24ed93a Add EIGEN_INITIALIZE_MATRICES_BY_NAN to Debug mode to resolve issue #184. 2014-12-04 12:40:11 -05:00
cbeall3 2560ddef99 Fix building with MKL on Mac OS 2014-10-14 00:04:28 -04:00
cbeall3 4fecf8a172 Add path for new MKL installation folder in latest parallel studio release 2014-09-30 13:09:13 -04:00
cbeall3 5db01f98eb Change mex_command to uppercase to match INSTALL documentation. Reported by GTSAM user. 2014-07-08 09:01:30 -04:00
Richard Roberts 873283c522 Fixed broken timing script and fixed logic for building/excluding examples and timing scripts 2014-06-21 16:26:48 -07:00
Richard Roberts 17c7e02003 Added support for timing scripts to build tools 2014-06-07 19:00:16 -07:00
Richard Roberts cace005651 When calling find_package(GTSAMCMakeTools), set the variable GTSAM_CMAKE_TOOLS_DIR so that files installed from there can be configured in projects and not only in GTSAM, e.g. dllexport.h.in 2014-06-01 18:59:03 -04:00
cbeall3 a7187f7e51 comment out debug messages 2014-05-28 23:05:31 -04:00
cbeall3 a16096276a Merge branch 'origin/feature/mex_static_module_revive' 2014-05-28 22:51:23 -04:00
jing 020d2e43f8 change cmake option into correct way: use set CMAKE_CXX_FLAGS replace add_definition 2014-05-25 20:09:49 -04:00
Richard Roberts fe3ecc9f97 Fixed another comment 2014-05-06 19:14:03 -07:00
Richard Roberts bd6b7a63d9 Fixed comment 2014-05-06 19:12:59 -07:00
Richard Roberts d45fe95b8d Better and up-to-date example project 2014-05-06 19:05:59 -07:00
Richard Roberts 1770f44ad9 Fixed a number of clang warnings 2014-02-23 18:53:48 -05:00
Richard Roberts ac14ddcb74 Reverted reduced debug info in Profiling mode (seems to prevent inspecting source code). Fixed Profiling build not receiving build type postfixes. 2014-02-21 17:18:36 -05:00
Richard Roberts 7fa9ca8b9b Fixed typo 2014-02-19 15:45:39 -05:00
Richard Roberts c629339a7c Added README file for cmake tools 2014-02-19 15:43:37 -05:00
Richard Roberts ee274419fb Documentation improvement 2014-02-19 15:43:25 -05:00
Richard Roberts b4d7ede123 Better debug flag for Profiling build type 2014-02-19 15:43:16 -05:00
Richard Roberts 781349ec86 Renamed to GTSAMCMakeTools 2014-02-19 13:12:22 -05:00
Richard Roberts e029204c01 Added cmake code to install cmake tools, and a GTSAM-CMakeToolsConfig file to automatically find them. 2014-02-19 13:10:37 -05:00
Richard Roberts 753f59747c Removed obsolete wrap functions (sent email about this) 2014-02-18 13:43:54 -05:00
Richard Roberts eef7a19983 Added a warning when linking to libraries where duplicates are distributed with matlab, with instructions for moving the libraries away. 2014-02-17 00:44:50 -05:00
Richard Roberts 243522c64b Fixed not linking to requested libraries in matlab wrapper 2014-02-17 00:44:13 -05:00
Richard Roberts 835d020581 Added lots of documentation in GtsamTesting.cmake and moved old functions to an obsolete file with a warning if they are used 2014-02-13 16:13:11 -05:00
Richard Roberts f283150eb4 Using macro for creating examples to remove cmake code copy/paste 2014-02-13 13:24:14 -05:00
Richard Roberts 2ccb892167 Removed unneeded print 2014-02-13 13:23:35 -05:00
Richard Roberts 320cfe7b4d Comment cleanups 2014-02-13 13:23:20 -05:00
Richard Roberts 218500de11 Cleaned up flags for building examples and tests 2014-02-13 13:22:56 -05:00
Richard Roberts 0e4b5269c5 Cleaned up gtsamAddTestsGlob function 2014-02-13 11:14:51 -05:00
Richard Roberts e7018e8c51 Fixed bugs in last commit and made GTSAM_SINGLE_TEST_EXE default on Xcode too 2014-02-13 10:57:09 -05:00
Richard Roberts 3e3f31c4d1 Made FIRST_PASS_DONE variable internal 2014-02-13 10:56:20 -05:00
Richard Roberts 661a157553 Working on standardizing/simplifying building unit tests and examples. Much simpler cmake function to add a glob of tests, doing away with convenience libraries, and removing other options that we never change from their defaults. 2014-02-13 01:34:31 -05:00
Richard Roberts 9d2c5888b8 Made cmake slightly nicer when using Xcode - removed a couple unnecessary prints, and removed .run targets when using Xcode since they're not needed and clog up the project view. 2014-02-08 11:14:43 -05:00
Richard Roberts 4b8c17ec77 Changed target name to 'gtsam' instead of 'gtsam-shared' and 'gtsam-static'. Modified CMake options to only allow building either static or shared, but not both. Enabled GTSAM_BUILD_TYPE_POSTFIXES by default on all platforms. 2014-01-30 14:41:25 -05:00
Richard Roberts 7761796036 Path fix for projects referencing cmake libs without using a submodule 2013-12-29 15:13:13 -05:00
Richard Roberts 395b8a2f48 Added cmake subdirectory without history (at SVN r20364) 2013-12-22 13:04:47 -05:00
Richard Roberts f8bb2cf371 Revert "Added cmake as submodule"
This reverts commit 191d18290d.
2013-12-22 13:00:28 -05:00
Richard Roberts 191d18290d Added cmake as submodule 2013-12-20 17:06:05 -05:00
Richard Roberts ee02445c49 Removing local cmake scripts 2012-03-22 19:57:30 +00:00
Richard Roberts b76cf5b07f Made unit test names unique between subdirectories and 'tests' directory, removed subdir prefix from compiled executable names. The duplicate filenames confused Eclipse and made things difficult in CMake as well. 2012-03-15 02:10:37 +00:00
Alex Cunningham 58b64da525 Added better printout of configurable cmake options at the end of configuration 2012-02-29 04:11:48 +00:00
Alex Cunningham 12351dbfea Updated find scripts to work by testing against gtsam2, no longer depends on build folders 2012-02-25 22:35:09 +00:00
Alex Cunningham 59b1197c9f Back-ported cmake from the 2.0prep branch 2012-02-24 15:53:50 +00:00
Alex Cunningham 636176bf13 Updated paths for cmake find scripts 2012-01-28 04:07:37 +00:00
Alex Cunningham ac5d539afb Added SRI's Find cmake scripts and small comment changes in other cmake scripts 2012-01-27 20:28:13 +00:00