Commit Graph

310 Commits (19fdb437ea5b457fc52c7083163ebaae6d4aa0e4)

Author SHA1 Message Date
Varun Agrawal b30448733c remove all Cython references 2020-10-01 19:56:35 -04:00
Varun Agrawal a4c3623701
Merge pull request #526 from borglab/feature/python-version
Automatically find Python3 version
2020-09-21 21:52:42 -04:00
Varun Agrawal f64ced8791 Don't print private compile options 2020-09-17 21:43:31 -04:00
Varun Agrawal 859c157a0f Use cmake to identify best Python version if Default requested 2020-09-17 21:26:11 -04:00
Fan Jiang 1d6392dc88 Initial migration 2020-08-17 17:13:10 -04:00
Varun Agrawal 3ea9897723 function for consistent width printing of CMake flags 2020-08-07 16:11:05 -05:00
Jose Luis Blanco Claraco 8a9780113a
remove leftover cmake debug trace 2020-07-27 00:16:28 +02:00
Jose Luis Blanco Claraco 99256c6d28
relax override -Werror for now 2020-07-26 23:35:49 +02:00
Jose Luis Blanco Claraco 64fb7b9503
Avoid -Woverride in clang <12.0.0 2020-07-26 23:35:11 +02:00
Jose Luis Blanco Claraco 0198c648e3
Fix all new gcc warnings/errors: make explicit virtual/override methods.
Rules are:
- use "virtual" in base classes only.
- use "override" in all derived classes.
2020-07-26 11:20:42 +02:00
Jose Luis Blanco Claraco 4e3638f6a7
enable compiler warnings and errors for safer code 2020-07-26 08:41:57 +02:00
Frank Dellaert c8ddd43f97
Merge pull request #277 from borglab/feature/python-install
Auto-install Python Package
2020-07-16 12:50:58 -04:00
Varun Agrawal 289ab6271d added cmake policy for AppleClang compiler identification 2020-07-11 21:44:38 -04:00
Varun Agrawal e08e392020 Improved paths and added checks 2020-07-05 21:57:18 -05:00
Varun Agrawal d2f69eeab4 Add python-install dependency for gtsam_unstable as well 2020-07-01 17:07:31 -05:00
Varun Agrawal a6908cd1cb removed unneeded install commands and updated README 2020-07-01 16:23:24 -05:00
Varun Agrawal 59968fddc5 Python Wrapper CMake update
- Added python-install target variable for easy updating.
- Fixed/Added all dependencies so that everything is built automatically.
- Removed unnecessary install commands
2020-07-01 14:36:57 -05:00
Varun Agrawal 8859b963a2 In-place cython build
Build everything inside the build/cython{BuildType} directory directly, so we can bypass the `make install` step and introduce the `make python-install` step which allows cmake to handle all dependencies.
2020-07-01 12:13:53 -05:00
Varun Agrawal 7a725bf46a Remove redundant postfix checking since the postfix is already added at the top level 2020-06-30 20:48:01 -05:00
Varun Agrawal 453d3a7416 Added cmake variable GTSAM_CYTHON_INSTALL_FULLPATH to include build tag directly 2020-06-24 18:11:24 -05:00
Varun Agrawal 5feaf6dd9d reset to previous version 2020-06-24 14:07:28 -05:00
Varun Agrawal 9698b03253 removed extra line 2020-06-24 14:06:25 -05:00
Varun Agrawal efde078b94 pure CMake script to install Python wrapper after compiling 2020-06-24 14:05:17 -05:00
Varun Agrawal ca46ebfda8 added comments and removed unnecessary code 2020-06-22 20:20:50 -05:00
Varun Agrawal 93a00a38a4 add new make command for installing python wrapper 2020-06-22 20:14:03 -05:00
Varun Agrawal 1725a577cf cmake function to install python package once make install is completed 2020-06-22 17:25:29 -05:00
Tuwuh S Wibowo 046bcaa031 Add full path to Python library, esp useful for VS generator 2020-05-21 13:23:18 -04:00
Tuwuh S Wibowo 125d59dfcd Fix Cython build on Windows/MSVC, tested on MSVC 2019 compiler 2020-05-21 02:15:15 -04:00
acxz 3d328f12a2 add path to find iomp5 mkl library 2020-05-07 09:07:16 -04:00
acxz 81494cefdf remove trailing whitespaces 2020-05-07 09:02:29 -04:00
alescontrela 211119b00e Replace addPrior<> with addPrior 2020-04-12 13:10:09 -04:00
alescontrela aa3ac32235 Change all old cases of graph.emplace_shared<PriorFactor<...>>(...) and graph.add(PriorFactor<...>(...)) to graph.addPrior<...>(...). Removed unnecessary PriorFactor.h includes. 2020-04-11 20:09:54 -04:00
alescontrela f4525b51e4 Change PriorFactor includes from gtsam/slam to gtsam/nonlinear 2020-04-10 22:26:22 -04:00
Fan Jiang cbea85dafd Regression 2020-01-06 22:42:52 -05:00
Fan Jiang ef8026bc23 Regression 2020-01-06 22:35:11 -05:00
Fan Jiang 982c904c1c Cleanup the cmake files 2020-01-06 18:52:09 -05:00
Fan Jiang 4e9dd1292d Fix library find 2020-01-05 13:15:07 -05:00
Jose Luis Blanco-Claraco e658aed6bd
MSVC build fixes 2019-12-28 20:31:46 +01:00
Jose Luis Blanco Claraco 1f6c1dfb85
More consistent (not) use of CMAKE_INSTALL_PREFIX. 2019-12-22 17:09:50 +01:00
Varun Agrawal c7111dbbd3 install GtsamPrinting.cmake as part of installation 2019-12-03 15:42:21 -05:00
Jose Luis Blanco Claraco 99856befce
Use gcc -fPIC flag when building gtsam libraries
This flag is required to ensure proper code generation for shared
libraries.
2019-11-11 23:22:17 +01:00
Jose Luis Blanco-Claraco 6badcefac4
Patches to use CMake's FindBoost into gtsam 2019-10-07 11:42:38 +02:00
Jose Luis Blanco-Claraco 3e01411010
Import FindBoost from CMake v3.15.4 2019-10-07 11:36:06 +02:00
Jose Luis Blanco-Claraco bbf007e4e4
Remove obsolete cmake FindXX modules.
Exported config files are preferred over modules, and easier to maintain.
2019-10-07 11:15:31 +02:00
Ellon Paiva Mendes 3fad1fa81b
Install GTSAMConfigVersion.cmake 2019-10-07 11:13:42 +02:00
Jose Luis Blanco-Claraco ec04369c88
Merge pull request #85 from borglab/msvc-fixes
Changes to get gtsam to compile in Windows and fix matlab builds
2019-07-19 07:42:51 +02:00
Jose Luis Blanco-Claraco 1ca0e3395c Partial fix to MSVC Matlab builds 2019-07-12 07:58:18 +02:00
Jose Luis Blanco-Claraco 6dec8b1268 fix cmake error with MATLAB 2019-07-12 01:16:24 +02:00
Jose Luis Blanco-Claraco 69c3eafb30
Add NOMINMAX macro for MSVC via cmake 2019-07-11 14:27:09 +02:00
Jose Luis Blanco-Claraco f52db1eadc
undo whitespace changes 2019-07-11 14:23:14 +02:00
Clark Taylor 2cf4514e81 Changes to get gtsam to compile in Windows 2019-07-11 13:55:12 +02:00
Jose Luis Blanco Claraco 64ead677c2 add minimal cmake-based user project template 2019-07-11 00:53:18 +02:00
Varun Agrawal 4f5d13f328 GtsamCythonWrap.cmake update
- Update install directory so that the release tag is appended to the cython directory only rather than the specific subdirectories.
- Update the target properties so that the .so files don't have the build type appended as a postfix.
2019-06-17 16:36:50 -04:00
Jose Luis Blanco Claraco 0a6fecd30b fix cmake warning 2019-06-16 02:30:28 +02:00
Jose Luis Blanco Claraco 7f43054c37 Refactor build flags via CMake target properties
Also:
- Allow users to edit cmake target build options in the cache variables.
- We had to add project() commands for  gtsam and gtsam_unstable,
the PROJECT_SOURCE_DIR changed, but the root GTSAM_SOURCE_DIR instead.
- Ensure use of standard C++11 (no extensions)
2019-06-15 23:09:54 +02:00
Varun Agrawal b8292399d6 renamed all READMEs to README.md and updated markdown syntax 2019-06-13 17:26:07 -04:00
Frank Dellaert 4e19ba4488
Merge pull request #54 from jlblancoc/add_make_check_valgrind
add command `make check_valgrind`
2019-06-11 12:09:27 -04:00
Frank Dellaert fc10e7c9c6
Merge pull request #52 from jlblancoc/add_uninstall
Provide target `make uninstall`
2019-06-11 12:07:32 -04:00
Jose Luis Blanco Claraco 05e8fbcb14 re-indent: script had an inconsistent mix of tabs and spaces 2019-06-11 07:21:10 +02:00
Jose Luis Blanco Claraco 2d67ade5f2 targets renamed: xxx.valgrind 2019-06-11 07:19:26 +02:00
Jose Luis Blanco Claraco 2c7389db76 add command `make check_valgrind` 2019-06-10 18:08:05 +02:00
Jose Luis Blanco Claraco 3a85be2531 provide 2019-06-10 12:41:27 +02:00
Jose Luis Blanco-Claraco b36dc081e0 Nicer grouping in IDE "folders" 2019-06-02 11:46:43 +02:00
Jose Luis Blanco-Claraco ab8b2f5263 -march=native is not for MSVC 2019-06-02 11:32:38 +02:00
Jose Luis Blanco-Claraco a4b5f4cf08
Fix GTSAMconfig.cmake for cmake <3.8
Closes #22
2019-05-27 01:25:41 +02:00
chrisbeall 7b9ed50daa Add option to toggle march=native 2019-05-18 15:15:27 -07:00
Varun Agrawal 60b874b997 README for compiling and using the example_project 2019-05-17 18:38:15 -04:00
Varun Agrawal e985e2c95d added default constructor for PrintExamples 2019-05-17 18:30:19 -04:00
Varun Agrawal a743a4acc9 change example_project .so file from STATIC to SHARED, and install library to /lib in install path 2019-05-17 18:29:51 -04:00
Varun Agrawal 5b85fc885f added required includes to fix compilation of matlab wrapper example 2019-05-17 12:15:10 -04:00
Fan Jiang 0d924e23db Fix compilation on MKL 2019 2019-03-12 14:49:18 +08:00
Matthew Broadway 2f232fd4d4 removed redundant call to find_package 2019-03-07 15:58:05 +00:00
Matthew Broadway dc80bc0755 find correct interpreter version before looking for cython 2019-03-06 10:00:13 +00:00
Matthew Broadway 9c1dfd244f fixed a bug where unsetting the cached python version leads to different numpy/cython/libraries being used 2019-02-28 09:14:39 +00:00
Matthew Broadway e9e8ca3990 added option to specify python version 2019-02-28 09:14:39 +00:00
Matthew Broadway 09ac7f7c06 removed requirement for python 2.7 in cmake 2019-02-28 09:14:39 +00:00
Matthew Broadway 27f87d340e caching cmake variables 2019-02-28 09:14:39 +00:00
Matthew Broadway e896ae1c43 compile cython compatible with the chosen python version 2019-02-28 09:14:39 +00:00
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