Commit Graph

332 Commits (release/4.3a0)

Author SHA1 Message Date
Fan Jiang cd4c0c6dbd Fix GTSAM MATLAB 2021-02-15 19:40:40 -05:00
Jose Luis Blanco Claraco ffc4e59bfc
Avoid target collision if gtsam used as submodule 2021-02-05 02:26:35 +01:00
Varun Agrawal 79305fc497 set TBB default to Release unless TBB_USE_DEBUG_BUILD is set 2021-01-22 13:21:39 -05:00
Varun Agrawal 3d629290ee make non-editable CMake variables as INTERNAL 2021-01-22 13:21:09 -05:00
Jose-Luis Blanco Claraco 35aeaf5246
CMake scripts compatible with gtsam as git submodule 2021-01-17 22:21:53 +01:00
Varun Agrawal 3a80b38a9a updates to Cmake to use the new wrap package 2021-01-04 13:13:01 -05:00
Varun Agrawal 085d01580e minor formatting of cmake file 2020-12-27 19:13:41 -05:00
Varun Agrawal 628ae26496 encapsulated and updated all the CMake related to Matlab 2020-11-18 16:29:53 -05:00
Varun Agrawal 812240b056 restructuring 2020-11-18 16:08:06 -05:00
Varun Agrawal 30afc95936 placed MEX check to new cmake file 2020-11-18 16:05:13 -05:00
Varun Agrawal 8c7a404ace Merge branch 'develop' into feature/system-metis-lib 2020-11-18 15:18:29 -05:00
Varun Agrawal a94b6dacaf Print message when either Pose3 or Rot3 expmap is ON 2020-11-12 11:15:50 -05:00
Varun Agrawal c2455082db Force EXPMAP option for both if either POSE3 or ROT3 is set 2020-11-11 13:34:40 -05:00
Varun Agrawal bb313eb7ce Fix python discovery for MATLAB wrapper 2020-11-07 18:19:04 -05:00
Jose Luis Blanco-Claraco 1da968afd3
Automatic detection of correct suggest-override flag 2020-10-28 07:43:16 +01:00
Jose Luis Blanco-Claraco 9d41178070
Use METIS system library if so selected 2020-10-19 07:52:12 +02:00
Frank dellaert 8a7ce130ad Fix warning on clang 2020-10-12 14:32:21 -04:00
Jose Luis Blanco Claraco 69b2cacbe7
Revert use system Eigen if found 2020-10-07 17:03:20 +02:00
Jose Luis Blanco Claraco 8cb22624e0
Use camel case for cmake files 2020-10-07 17:02:55 +02:00
Jose Luis Blanco Claraco b1c2e0174b
Use system eigen3 only if first quietly found. 2020-10-06 22:58:42 +02:00
Jose Luis Blanco Claraco 8b2b7476e1
Remove obsolete comments 2020-10-06 22:58:21 +02:00
Jose Luis Blanco Claraco e9e87526c4
refactor cmake scripts into smaller files 2020-10-06 18:10:11 +02:00
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