Adding faster compilation options for distribution in CMake
parent
9856a7c7aa
commit
0409c1c7ee
|
@ -21,7 +21,7 @@
|
|||
<folderInfo id="cdt.managedbuild.toolchain.gnu.macosx.base.1359703544.2031210194" name="/" resourcePath="">
|
||||
<toolChain id="cdt.managedbuild.toolchain.gnu.macosx.base.677243255" name="cdt.managedbuild.toolchain.gnu.macosx.base" superClass="cdt.managedbuild.toolchain.gnu.macosx.base">
|
||||
<targetPlatform archList="all" binaryParser="org.eclipse.cdt.core.ELF;org.eclipse.cdt.core.MachO64" id="cdt.managedbuild.target.gnu.platform.macosx.base.752782918" name="Debug Platform" osList="macosx" superClass="cdt.managedbuild.target.gnu.platform.macosx.base"/>
|
||||
<builder arguments="-j2" buildPath="${ProjDirPath}/build" command="make" id="cdt.managedbuild.target.gnu.builder.macosx.base.319933862" keepEnvironmentInBuildfile="false" managedBuildOn="false" name="Gnu Make Builder" parallelBuildOn="true" parallelizationNumber="5" superClass="cdt.managedbuild.target.gnu.builder.macosx.base"/>
|
||||
<builder arguments="" buildPath="${ProjDirPath}/build" command="make" id="cdt.managedbuild.target.gnu.builder.macosx.base.319933862" keepEnvironmentInBuildfile="false" managedBuildOn="false" name="Gnu Make Builder" parallelBuildOn="true" parallelizationNumber="5" superClass="cdt.managedbuild.target.gnu.builder.macosx.base"/>
|
||||
<tool id="cdt.managedbuild.tool.macosx.c.linker.macosx.base.457360678" name="MacOS X C Linker" superClass="cdt.managedbuild.tool.macosx.c.linker.macosx.base"/>
|
||||
<tool id="cdt.managedbuild.tool.macosx.cpp.linker.macosx.base.1011140787" name="MacOS X C++ Linker" superClass="cdt.managedbuild.tool.macosx.cpp.linker.macosx.base">
|
||||
<inputType id="cdt.managedbuild.tool.macosx.cpp.linker.input.1032375444" superClass="cdt.managedbuild.tool.macosx.cpp.linker.input">
|
||||
|
|
2
.project
2
.project
|
@ -23,7 +23,7 @@
|
|||
</dictionary>
|
||||
<dictionary>
|
||||
<key>org.eclipse.cdt.make.core.buildArguments</key>
|
||||
<value>-j2 -j5</value>
|
||||
<value>-j5</value>
|
||||
</dictionary>
|
||||
<dictionary>
|
||||
<key>org.eclipse.cdt.make.core.buildCommand</key>
|
||||
|
|
|
@ -39,6 +39,7 @@ option(GTSAM_BUILD_TESTS "Enable/Disable building of tests" ON)
|
|||
option(GTSAM_BUILD_TIMING "Enable/Disable building of timing scripts" ON)
|
||||
option(GTSAM_BUILD_EXAMPLES "Enable/Disable building of examples" ON)
|
||||
option(GTSAM_BUILD_WRAP "Enable/Disable building of matlab wrap utility (necessary for matlab interface)" ON)
|
||||
option(GTSAM_BUILD_CONVENIENCE_LIBRARIES "Enable/Disable using convenience librares for tests" ON)
|
||||
option(GTSAM_LINK_BINARIES_AGAINST_CONVENIENCE_LIBS
|
||||
"Enable/Disable linking tests against the convenince libraries for faster debugging" ON)
|
||||
|
||||
|
@ -46,10 +47,12 @@ option(GTSAM_LINK_BINARIES_AGAINST_CONVENIENCE_LIBS
|
|||
# FIXME: breaks generation and install of matlab toolbox
|
||||
#set(CMAKE_SKIP_INSTALL_ALL_DEPENDENCY TRUE)
|
||||
|
||||
# Pull in tests
|
||||
enable_testing()
|
||||
include(Dart)
|
||||
include(CTest)
|
||||
# Pull in infrastructure
|
||||
if (GTSAM_BUILD_TESTS)
|
||||
enable_testing()
|
||||
include(Dart)
|
||||
include(CTest)
|
||||
endif()
|
||||
|
||||
# Enable make check (http://www.cmake.org/Wiki/CMakeEmulateMakeCheck)
|
||||
add_custom_target(check COMMAND ${CMAKE_CTEST_COMMAND})
|
||||
|
|
|
@ -20,14 +20,20 @@ set (3rdparty_srcs
|
|||
3rdparty/CCOLAMD/Source/ccolamd.c
|
||||
3rdparty/CCOLAMD/Source/ccolamd_global.c
|
||||
3rdparty/UFconfig/UFconfig.c)
|
||||
add_library(ccolamd STATIC ${3rdparty_srcs})
|
||||
if (GTSAM_BUILD_CONVENIENCE_LIBRARIES)
|
||||
message(STATUS "Building Convenience Library: ccolamd")
|
||||
add_library(ccolamd STATIC ${3rdparty_srcs})
|
||||
endif()
|
||||
|
||||
# assemble core libaries
|
||||
foreach(subdir ${gtsam_subdirs})
|
||||
# Build convenience libraries
|
||||
file(GLOB subdir_srcs "${subdir}/*.cpp")
|
||||
add_library(${subdir} STATIC ${subdir_srcs})
|
||||
set(${subdir}_srcs ${subdir_srcs})
|
||||
if (GTSAM_BUILD_CONVENIENCE_LIBRARIES)
|
||||
message(STATUS "Building Convenience Library: ${subdir}")
|
||||
add_library(${subdir} STATIC ${subdir_srcs})
|
||||
endif()
|
||||
|
||||
# Build local library and tests
|
||||
message(STATUS "Building ${subdir}")
|
||||
|
|
|
@ -3,11 +3,15 @@ file(GLOB base_headers "*.h")
|
|||
install(FILES ${base_headers} DESTINATION include/gtsam/base)
|
||||
|
||||
# Components to link tests in this subfolder against
|
||||
set(base_local_libs
|
||||
if (GTSAM_BUILD_CONVENIENCE_LIBRARIES)
|
||||
set(base_local_libs
|
||||
CppUnitLite
|
||||
${Boost_LIBRARIES}
|
||||
base
|
||||
)
|
||||
base)
|
||||
else()
|
||||
set(base_local_libs
|
||||
CppUnitLite
|
||||
gtsam-static)
|
||||
endif()
|
||||
|
||||
# Build tests
|
||||
if (GTSAM_BUILD_TESTS)
|
||||
|
@ -20,8 +24,11 @@ if (GTSAM_BUILD_TESTS)
|
|||
add_executable(${test_bin} ${test_src})
|
||||
add_dependencies(check.base ${test_bin})
|
||||
add_dependencies(check ${test_bin})
|
||||
add_test(${test_base} ${EXECUTABLE_OUTPUT_PATH}${test_bin})
|
||||
target_link_libraries(${test_bin} ${base_local_libs})
|
||||
if (GTSAM_BUILD_CONVENIENCE_LIBRARIES)
|
||||
add_dependencies(${test_bin} ${base_local_libs})
|
||||
endif()
|
||||
add_test(${test_base} ${EXECUTABLE_OUTPUT_PATH}${test_bin} )
|
||||
target_link_libraries(${test_bin} ${base_local_libs} ${Boost_LIBRARIES})
|
||||
add_custom_target(${test_bin}.run ${EXECUTABLE_OUTPUT_PATH}${test_bin} ${ARGN})
|
||||
endforeach(test_src)
|
||||
endif(GTSAM_BUILD_TESTS)
|
||||
|
@ -37,7 +44,10 @@ if (GTSAM_BUILD_TIMING)
|
|||
add_executable(${time_bin} ${time_src})
|
||||
add_dependencies(timing.base ${time_bin})
|
||||
add_dependencies(timing ${time_bin})
|
||||
target_link_libraries(${time_bin} ${base_local_libs})
|
||||
if (GTSAM_BUILD_CONVENIENCE_LIBRARIES)
|
||||
add_dependencies(${time_bin} ${base_local_libs})
|
||||
endif()
|
||||
target_link_libraries(${time_bin} ${base_local_libs} ${Boost_LIBRARIES})
|
||||
add_custom_target(${time_bin}.run ${EXECUTABLE_OUTPUT_PATH}${time_bin} ${ARGN})
|
||||
endforeach(time_src)
|
||||
endif(GTSAM_BUILD_TIMING)
|
||||
|
|
|
@ -1,17 +1,23 @@
|
|||
# link back to base
|
||||
add_dependencies(geometry base)
|
||||
|
||||
# Install headers
|
||||
file(GLOB geometry_headers "*.h")
|
||||
install(FILES ${geometry_headers} DESTINATION include/gtsam/geometry)
|
||||
|
||||
# Components to link tests in this subfolder against
|
||||
set(geometry_local_libs
|
||||
if (GTSAM_BUILD_CONVENIENCE_LIBRARIES)
|
||||
set(geometry_local_libs
|
||||
geometry
|
||||
base
|
||||
${Boost_LIBRARIES}
|
||||
CppUnitLite
|
||||
)
|
||||
)
|
||||
# link back to base
|
||||
add_dependencies(geometry base)
|
||||
else()
|
||||
set(geometry_local_libs
|
||||
CppUnitLite
|
||||
gtsam-static
|
||||
)
|
||||
endif()
|
||||
|
||||
|
||||
# Build tests
|
||||
if (GTSAM_BUILD_TESTS)
|
||||
|
@ -24,8 +30,11 @@ if (GTSAM_BUILD_TESTS)
|
|||
add_executable(${test_bin} ${test_src})
|
||||
add_dependencies(check.geometry ${test_bin})
|
||||
add_dependencies(check ${test_bin})
|
||||
if (GTSAM_BUILD_CONVENIENCE_LIBRARIES)
|
||||
add_dependencies(${test_bin} gtsam-static)
|
||||
endif()
|
||||
add_test(${test_base} ${EXECUTABLE_OUTPUT_PATH}${test_bin})
|
||||
target_link_libraries(${test_bin} ${geometry_local_libs})
|
||||
target_link_libraries(${test_bin} ${geometry_local_libs} ${Boost_LIBRARIES})
|
||||
add_custom_target(${test_bin}.run ${EXECUTABLE_OUTPUT_PATH}${test_bin} ${ARGN})
|
||||
endforeach(test_src)
|
||||
endif(GTSAM_BUILD_TESTS)
|
||||
|
@ -41,7 +50,10 @@ if (GTSAM_BUILD_TIMING)
|
|||
add_executable(${time_bin} ${time_src})
|
||||
add_dependencies(timing.geometry ${time_bin})
|
||||
add_dependencies(timing ${time_bin})
|
||||
target_link_libraries(${time_bin} ${geometry_local_libs})
|
||||
if (GTSAM_BUILD_CONVENIENCE_LIBRARIES)
|
||||
add_dependencies(${time_bin} gtsam-static)
|
||||
endif()
|
||||
target_link_libraries(${time_bin} ${geometry_local_libs} ${Boost_LIBRARIES})
|
||||
add_custom_target(${time_bin}.run ${EXECUTABLE_OUTPUT_PATH}${time_bin} ${ARGN})
|
||||
endforeach(time_src)
|
||||
endif(GTSAM_BUILD_TIMING)
|
||||
|
|
|
@ -1,19 +1,23 @@
|
|||
# link back to previous convenience library
|
||||
add_dependencies(inference base)
|
||||
|
||||
# Install headers
|
||||
file(GLOB inference_headers "*.h")
|
||||
install(FILES ${inference_headers} DESTINATION include/gtsam/inference)
|
||||
|
||||
# Components to link tests in this subfolder against
|
||||
set(inference_local_libs
|
||||
if (GTSAM_BUILD_CONVENIENCE_LIBRARIES)
|
||||
set(inference_local_libs
|
||||
inference
|
||||
geometry
|
||||
base
|
||||
ccolamd
|
||||
CppUnitLite)
|
||||
# link back to previous convenience library
|
||||
add_dependencies(inference base)
|
||||
else()
|
||||
set(inference_local_libs
|
||||
CppUnitLite
|
||||
${Boost_LIBRARIES}
|
||||
)
|
||||
gtsam-static
|
||||
)
|
||||
endif()
|
||||
|
||||
# Build tests
|
||||
if(GTSAM_BUILD_TESTS)
|
||||
|
@ -26,8 +30,11 @@ if(GTSAM_BUILD_TESTS)
|
|||
add_executable(${test_bin} ${test_src})
|
||||
add_dependencies(check.inference ${test_bin})
|
||||
add_dependencies(check ${test_bin})
|
||||
if (GTSAM_BUILD_CONVENIENCE_LIBRARIES)
|
||||
add_dependencies(${test_bin} ${inference_local_libs})
|
||||
endif()
|
||||
add_test(${test_base} ${EXECUTABLE_OUTPUT_PATH}${test_bin})
|
||||
target_link_libraries(${test_bin} ${inference_local_libs})
|
||||
target_link_libraries(${test_bin} ${inference_local_libs} ${Boost_LIBRARIES})
|
||||
add_custom_target(${test_bin}.run ${EXECUTABLE_OUTPUT_PATH}${test_bin} ${ARGN})
|
||||
endforeach(test_src)
|
||||
endif(GTSAM_BUILD_TESTS)
|
||||
|
@ -43,7 +50,10 @@ if(GTSAM_BUILD_TIMING)
|
|||
add_executable(${time_bin} ${time_src})
|
||||
add_dependencies(timing.inference ${time_bin})
|
||||
add_dependencies(timing ${time_bin})
|
||||
target_link_libraries(${time_bin} ${inference_local_libs})
|
||||
if (GTSAM_BUILD_CONVENIENCE_LIBRARIES)
|
||||
add_dependencies(${time_bin} ${inference_local_libs})
|
||||
endif()
|
||||
target_link_libraries(${time_bin} ${inference_local_libs} ${Boost_LIBRARIES})
|
||||
add_custom_target(${time_bin}.run ${EXECUTABLE_OUTPUT_PATH}${time_bin} ${ARGN})
|
||||
endforeach(time_src)
|
||||
endif(GTSAM_BUILD_TIMING)
|
||||
|
|
|
@ -1,20 +1,25 @@
|
|||
# link back to base
|
||||
add_dependencies(linear inference)
|
||||
|
||||
# Install headers
|
||||
file(GLOB linear_headers "*.h")
|
||||
install(FILES ${linear_headers} DESTINATION include/gtsam/linear)
|
||||
|
||||
# Components to link tests in this subfolder against
|
||||
set(linear_local_libs
|
||||
if (GTSAM_BUILD_CONVENIENCE_LIBRARIES)
|
||||
set(linear_local_libs
|
||||
linear
|
||||
inference
|
||||
geometry
|
||||
base
|
||||
ccolamd
|
||||
CppUnitLite)
|
||||
# link back to base
|
||||
add_dependencies(linear inference)
|
||||
|
||||
else()
|
||||
set(linear_local_libs
|
||||
CppUnitLite
|
||||
${Boost_LIBRARIES}
|
||||
)
|
||||
gtsam-static
|
||||
)
|
||||
endif()
|
||||
|
||||
# Build tests
|
||||
if (GTSAM_BUILD_TESTS)
|
||||
|
@ -27,8 +32,11 @@ if (GTSAM_BUILD_TESTS)
|
|||
add_executable(${test_bin} ${test_src})
|
||||
add_dependencies(check.linear ${test_bin})
|
||||
add_dependencies(check ${test_bin})
|
||||
if (GTSAM_BUILD_CONVENIENCE_LIBRARIES)
|
||||
add_dependencies(${test_bin} ${linear_local_libs})
|
||||
endif()
|
||||
add_test(${test_base} ${EXECUTABLE_OUTPUT_PATH}${test_bin})
|
||||
target_link_libraries(${test_bin} ${linear_local_libs})
|
||||
target_link_libraries(${test_bin} ${linear_local_libs} ${Boost_LIBRARIES})
|
||||
add_custom_target(${test_bin}.run ${EXECUTABLE_OUTPUT_PATH}${test_bin} ${ARGN})
|
||||
endforeach(test_src)
|
||||
endif (GTSAM_BUILD_TESTS)
|
||||
|
@ -44,7 +52,10 @@ if (GTSAM_BUILD_TIMING)
|
|||
add_executable(${time_bin} ${time_src})
|
||||
add_dependencies(timing.linear ${time_bin})
|
||||
add_dependencies(timing ${time_bin})
|
||||
target_link_libraries(${time_bin} ${linear_local_libs})
|
||||
if (GTSAM_BUILD_CONVENIENCE_LIBRARIES)
|
||||
add_dependencies(${time_bin} ${linear_local_libs})
|
||||
endif()
|
||||
target_link_libraries(${time_bin} ${linear_local_libs} ${Boost_LIBRARIES})
|
||||
add_custom_target(${time_bin}.run ${EXECUTABLE_OUTPUT_PATH}${time_bin} ${ARGN})
|
||||
endforeach(time_src)
|
||||
endif (GTSAM_BUILD_TIMING)
|
||||
|
|
|
@ -1,21 +1,25 @@
|
|||
# link back to base
|
||||
add_dependencies(nonlinear linear)
|
||||
|
||||
# Install headers
|
||||
file(GLOB nonlinear_headers "*.h")
|
||||
install(FILES ${nonlinear_headers} DESTINATION include/gtsam/nonlinear)
|
||||
|
||||
# Components to link tests in this subfolder against
|
||||
set(nonlinear_local_libs
|
||||
if (GTSAM_BUILD_CONVENIENCE_LIBRARIES)
|
||||
set(nonlinear_local_libs
|
||||
nonlinear
|
||||
linear
|
||||
inference
|
||||
geometry
|
||||
base
|
||||
ccolamd
|
||||
CppUnitLite)
|
||||
# link back to base
|
||||
add_dependencies(nonlinear linear)
|
||||
else()
|
||||
set(nonlinear_local_libs
|
||||
CppUnitLite
|
||||
${Boost_LIBRARIES}
|
||||
)
|
||||
gtsam-static
|
||||
)
|
||||
endif()
|
||||
|
||||
# Build tests
|
||||
if (GTSAM_BUILD_TESTS)
|
||||
|
@ -28,8 +32,11 @@ if (GTSAM_BUILD_TESTS)
|
|||
add_executable(${test_bin} ${test_src})
|
||||
add_dependencies(check.nonlinear ${test_bin})
|
||||
add_dependencies(check ${test_bin})
|
||||
if (GTSAM_BUILD_CONVENIENCE_LIBRARIES)
|
||||
add_dependencies(${test_bin} ${nonlinear_local_libs} )
|
||||
endif()
|
||||
add_test(${test_base} ${EXECUTABLE_OUTPUT_PATH}${test_bin})
|
||||
target_link_libraries(${test_bin} ${nonlinear_local_libs})
|
||||
target_link_libraries(${test_bin} ${nonlinear_local_libs} ${Boost_LIBRARIES})
|
||||
add_custom_target(${test_bin}.run ${EXECUTABLE_OUTPUT_PATH}${test_bin} ${ARGN})
|
||||
endforeach(test_src)
|
||||
endif (GTSAM_BUILD_TESTS)
|
||||
|
@ -45,7 +52,10 @@ if (GTSAM_BUILD_TIMING)
|
|||
add_executable(${time_bin} ${time_src})
|
||||
add_dependencies(timing.nonlinear ${time_bin})
|
||||
add_dependencies(timing ${time_bin})
|
||||
target_link_libraries(${time_bin} ${nonlinear_local_libs})
|
||||
if (GTSAM_BUILD_CONVENIENCE_LIBRARIES)
|
||||
add_dependencies(${time_bin} ${nonlinear_local_libs} )
|
||||
endif()
|
||||
target_link_libraries(${time_bin} ${nonlinear_local_libs} ${Boost_LIBRARIES})
|
||||
add_custom_target(${time_bin}.run ${EXECUTABLE_OUTPUT_PATH}${time_bin} ${ARGN})
|
||||
endforeach(time_src)
|
||||
endif (GTSAM_BUILD_TIMING)
|
||||
|
|
|
@ -1,12 +1,10 @@
|
|||
# link back to base
|
||||
add_dependencies(slam nonlinear)
|
||||
|
||||
# Install headers
|
||||
file(GLOB slam_headers "*.h")
|
||||
install(FILES ${slam_headers} DESTINATION include/gtsam/slam)
|
||||
|
||||
# Components to link tests in this subfolder against
|
||||
set(slam_local_libs
|
||||
if (GTSAM_BUILD_CONVENIENCE_LIBRARIES)
|
||||
set(slam_local_libs
|
||||
slam
|
||||
nonlinear
|
||||
linear
|
||||
|
@ -14,9 +12,16 @@ set(slam_local_libs
|
|||
geometry
|
||||
base
|
||||
ccolamd
|
||||
CppUnitLite)
|
||||
|
||||
# link back to base
|
||||
add_dependencies(slam nonlinear geometry)
|
||||
else()
|
||||
set(slam_local_libs
|
||||
CppUnitLite
|
||||
${Boost_LIBRARIES}
|
||||
)
|
||||
gtsam-static
|
||||
)
|
||||
endif()
|
||||
|
||||
# Build tests
|
||||
if (GTSAM_BUILD_TESTS)
|
||||
|
@ -30,7 +35,10 @@ if (GTSAM_BUILD_TESTS)
|
|||
add_dependencies(check.slam ${test_bin})
|
||||
add_dependencies(check ${test_bin})
|
||||
add_test(${test_base} ${EXECUTABLE_OUTPUT_PATH}${test_bin})
|
||||
target_link_libraries(${test_bin} ${slam_local_libs})
|
||||
target_link_libraries(${test_bin} ${slam_local_libs} ${Boost_LIBRARIES})
|
||||
if (GTSAM_BUILD_CONVENIENCE_LIBRARIES)
|
||||
add_dependencies(${test_bin} ${slam_local_libs})
|
||||
endif()
|
||||
add_custom_target(${test_bin}.run ${EXECUTABLE_OUTPUT_PATH}${test_bin} ${ARGN})
|
||||
endforeach(test_src)
|
||||
endif (GTSAM_BUILD_TESTS)
|
||||
|
@ -46,7 +54,10 @@ if (GTSAM_BUILD_TIMING)
|
|||
add_executable(${time_bin} ${time_src})
|
||||
add_dependencies(timing.slam ${time_bin})
|
||||
add_dependencies(timing ${time_bin})
|
||||
target_link_libraries(${time_bin} ${slam_local_libs})
|
||||
if (GTSAM_BUILD_CONVENIENCE_LIBRARIES)
|
||||
add_dependencies(${time_bin} ${slam_local_libs})
|
||||
endif()
|
||||
target_link_libraries(${time_bin} ${slam_local_libs} ${Boost_LIBRARIES})
|
||||
add_custom_target(${time_bin}.run ${EXECUTABLE_OUTPUT_PATH}${time_bin} ${ARGN})
|
||||
endforeach(time_src)
|
||||
endif (GTSAM_BUILD_TIMING)
|
||||
|
|
|
@ -63,7 +63,7 @@ set(moduleName gtsam)
|
|||
|
||||
# only support 64-bit apple
|
||||
if(CMAKE_HOST_APPLE)
|
||||
set(mex_bin_extension_default mexmaci64)
|
||||
set(GTSAM_MEX_BIN_EXTENSION_default mexmaci64)
|
||||
endif(CMAKE_HOST_APPLE)
|
||||
|
||||
if(NOT CMAKE_HOST_APPLE)
|
||||
|
@ -79,56 +79,56 @@ if(NOT CMAKE_HOST_APPLE)
|
|||
# Check for linux machines
|
||||
if (CMAKE_HOST_UNIX)
|
||||
if (HAVE_64_BIT)
|
||||
set(mex_bin_extension_default mexa64)
|
||||
set(GTSAM_MEX_BIN_EXTENSION_default mexa64)
|
||||
else (HAVE_64_BIT)
|
||||
set(mex_bin_extension_default mexglx)
|
||||
set(GTSAM_MEX_BIN_EXTENSION_default mexglx)
|
||||
endif (HAVE_64_BIT)
|
||||
endif(CMAKE_HOST_UNIX)
|
||||
|
||||
# Check for windows machines
|
||||
if (CMAKE_HOST_WIN32)
|
||||
if (HAVE_64_BIT)
|
||||
set(mex_bin_extension_default mexw64)
|
||||
set(GTSAM_MEX_BIN_EXTENSION_default mexw64)
|
||||
else (HAVE_64_BIT)
|
||||
set(mex_bin_extension_default mexw32)
|
||||
set(GTSAM_MEX_BIN_EXTENSION_default mexw32)
|
||||
endif (HAVE_64_BIT)
|
||||
endif(CMAKE_HOST_WIN32)
|
||||
endif(NOT CMAKE_HOST_APPLE)
|
||||
|
||||
# Allow for setting mex extension manually
|
||||
set(mex_bin_extension ${mex_bin_extension_default} CACHE DOCSTRING "Extension for matlab mex files")
|
||||
message(STATUS "Detected Matlab mex extension: ${mex_bin_extension_default}")
|
||||
message(STATUS "Current Matlab mex extension: ${mex_bin_extension}")
|
||||
set(GTSAM_MEX_BIN_EXTENSION ${GTSAM_MEX_BIN_EXTENSION_default} CACHE DOCSTRING "Extension for matlab mex files")
|
||||
message(STATUS "Detected Matlab mex extension: ${GTSAM_MEX_BIN_EXTENSION_default}")
|
||||
message(STATUS "Current Matlab mex extension: ${GTSAM_MEX_BIN_EXTENSION}")
|
||||
|
||||
# Actual build commands - separated by OS
|
||||
add_custom_target(wrap_gtsam ALL COMMAND
|
||||
./wrap ${mex_bin_extension} ${CMAKE_SOURCE_DIR} ${moduleName} ${toolbox_path} "${mexFlags}"
|
||||
./wrap ${GTSAM_MEX_BIN_EXTENSION} ${CMAKE_SOURCE_DIR} ${moduleName} ${toolbox_path} "${mexFlags}"
|
||||
DEPENDS wrap)
|
||||
|
||||
option(GTSAM_INSTALL_MATLAB_TOOLBOX "Enable/Disable installation of matlab toolbox" ON)
|
||||
option(GTSAM_INSTALL_MATLAB_EXAMPLES "Enable/Disable installation of matlab examples" ON)
|
||||
option(GTSAM_INSTALL_MATLAB_TESTS "Enable/Disable installation of matlab tests" ON)
|
||||
|
||||
set(toolbox_install_path ${CMAKE_INSTALL_PREFIX}/borg/toolbox CACHE DOCSTRING "Path to install matlab toolbox")
|
||||
set(GTSAM_TOOLBOX_INSTALL_PATH ${CMAKE_INSTALL_PREFIX}/borg/toolbox CACHE DOCSTRING "Path to install matlab toolbox")
|
||||
|
||||
if (GTSAM_INSTALL_MATLAB_TOOLBOX)
|
||||
# Primary toolbox files
|
||||
message(STATUS "Installing Matlab Toolbox to ${toolbox_install_path}")
|
||||
install(DIRECTORY DESTINATION ${toolbox_install_path}) # make an empty folder
|
||||
message(STATUS "Installing Matlab Toolbox to ${GTSAM_TOOLBOX_INSTALL_PATH}")
|
||||
install(DIRECTORY DESTINATION ${GTSAM_TOOLBOX_INSTALL_PATH}) # make an empty folder
|
||||
# exploit need for trailing slash to specify a full folder, rather than just its contents to copy
|
||||
install(DIRECTORY ${toolbox_path} DESTINATION ${toolbox_install_path})
|
||||
install(DIRECTORY ${toolbox_path} DESTINATION ${GTSAM_TOOLBOX_INSTALL_PATH})
|
||||
|
||||
# Examples
|
||||
if (GTSAM_INSTALL_MATLAB_EXAMPLES)
|
||||
message(STATUS "Installing Matlab Toolbox Examples")
|
||||
file(GLOB matlab_examples "${CMAKE_SOURCE_DIR}/examples/matlab/*.m")
|
||||
install(FILES ${matlab_examples} DESTINATION ${toolbox_install_path}/gtsam/examples)
|
||||
install(FILES ${matlab_examples} DESTINATION ${GTSAM_TOOLBOX_INSTALL_PATH}/gtsam/examples)
|
||||
endif (GTSAM_INSTALL_MATLAB_EXAMPLES)
|
||||
|
||||
# Tests
|
||||
if (GTSAM_INSTALL_MATLAB_TESTS)
|
||||
message(STATUS "Installing Matlab Toolbox Tests")
|
||||
file(GLOB matlab_tests "${CMAKE_SOURCE_DIR}/tests/matlab/*.m")
|
||||
install(FILES ${matlab_tests} DESTINATION ${toolbox_install_path}/gtsam/tests)
|
||||
install(FILES ${matlab_tests} DESTINATION ${GTSAM_TOOLBOX_INSTALL_PATH}/gtsam/tests)
|
||||
endif (GTSAM_INSTALL_MATLAB_TESTS)
|
||||
endif (GTSAM_INSTALL_MATLAB_TOOLBOX)
|
||||
|
|
Loading…
Reference in New Issue