diff --git a/CMakeLists.txt b/CMakeLists.txt index 5d2acb464..7819cfdc8 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -61,6 +61,9 @@ option(GTSAM_INSTALL_MATLAB_EXAMPLES "Enable/Disable installation of matlab option(GTSAM_INSTALL_MATLAB_TESTS "Enable/Disable installation of matlab tests" ON) option(GTSAM_INSTALL_WRAP "Enable/Disable installation of wrap utility" ON) +# Experimental - features disabled by default +option(GTSAM_ENABLE_BUILD_MEX_BINARIES "Enable/Disable building of matlab mex files" OFF) + # Flags for choosing default packaging tools set(CPACK_SOURCE_GENERATOR "TGZ" CACHE STRING "CPack Default Source Generator") set(CPACK_GENERATOR "TGZ" CACHE STRING "CPack Default Binary Generator") diff --git a/wrap/CMakeLists.txt b/wrap/CMakeLists.txt index 8feb5779b..36415df35 100644 --- a/wrap/CMakeLists.txt +++ b/wrap/CMakeLists.txt @@ -47,6 +47,17 @@ add_custom_target(wrap_gtsam ALL COMMAND ${EXECUTABLE_OUTPUT_PATH}/wrap ${GTSAM_MEX_BIN_EXTENSION} ${CMAKE_CURRENT_SOURCE_DIR}/../ ${moduleName} ${toolbox_path} "${mexFlags}" DEPENDS wrap) +# Build command +# Experimental: requires matlab to be on your path +if (GTSAM_ENABLE_BUILD_MEX_BINARIES) + # Actually compile the mex files when building the library + set(TOOLBOX_MAKE_FLAGS "-j2") + add_custom_target(wrap_gtsam_build + COMMAND make ${TOOLBOX_MAKE_FLAGS} + WORKING_DIRECTORY ${toolbox_path} + DEPENDS wrap_gtsam) +endif (GTSAM_ENABLE_BUILD_MEX_BINARIES) + set(GTSAM_TOOLBOX_INSTALL_PATH ${CMAKE_INSTALL_PREFIX}/borg/toolbox CACHE DOCSTRING "Path to install matlab toolbox") if (GTSAM_INSTALL_MATLAB_TOOLBOX)