experimental cmake support for linux
parent
fe126f2e42
commit
85ff7853eb
|
@ -0,0 +1,46 @@
|
|||
CMAKE_MINIMUM_REQUIRED (VERSION 2.6)
|
||||
|
||||
PROJECT (gtsam)
|
||||
if (NOT CMAKE_INSTALL_PREFIX)
|
||||
set(CMAKE_INSTALL_PREFIX ${CMAKE_SOURCE_DIR} CACHE INTERNAL "" FORCE)
|
||||
endif()
|
||||
|
||||
set(CMAKE_CXX_FLAGS "-O2 -g -Wall -march=core2 -msse2 -DNDEBUG -DGT_USE_CBLAS -DGT_USE_LAPACK")
|
||||
|
||||
INCLUDE_DIRECTORIES ("${CMAKE_SOURCE_DIR}")
|
||||
|
||||
set(BOOST_ROOT ${BOOST_ROOT} CACHE PATH "The boost root path")
|
||||
INCLUDE_DIRECTORIES ("${BOOST_ROOT}")
|
||||
LINK_DIRECTORIES ("${BOOST_ROOT}/stage/lib")
|
||||
|
||||
set(CCOLAMD_ROOT ${CCOLAMD_ROOT} CACHE PATH "The ccolamd root path")
|
||||
INCLUDE_DIRECTORIES ("${CCOLAMD_ROOT}")
|
||||
LINK_DIRECTORIES ("${CCOLAMD_ROOT}")
|
||||
set(libs_support ${libs_support} ccolamd)
|
||||
|
||||
|
||||
set(USE_GOTOBLAS2 ${USE_GOTOBLAS2} CACHE BOOL "USE GotoBlas2 or not")
|
||||
if (USE_GOTOBLAS2)
|
||||
set(GOTOBLAS2_ROOT ${GOTOBLAS2_ROOT} CACHE PATH "The gotoblas2 root path")
|
||||
INCLUDE_DIRECTORIES ("${GOTOBLAS2_ROOT}")
|
||||
set(libs_support ${libs_support} goto2)
|
||||
else ()
|
||||
set(libs_support ${libs_support} cblas lapack atlas)
|
||||
endif ()
|
||||
|
||||
set(BUILD_EXAMPLES TRUE CACHE BOOL "Turn on the flag to build examples")
|
||||
set(BUILD_TESTS TRUE CACHE BOOL "Turn on the flag to build tests")
|
||||
set(BUILD_TIMINGS TRUE CACHE BOOL "Turn on the flag to build timings")
|
||||
|
||||
enable_testing()
|
||||
add_subdirectory(CppUnitLite)
|
||||
add_subdirectory(gtsam)
|
||||
|
||||
set(libs_gtsam base geometry inference linear nonlinear slam)
|
||||
|
||||
add_subdirectory(examples)
|
||||
add_subdirectory(tests)
|
||||
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,15 @@
|
|||
CMAKE_MINIMUM_REQUIRED (VERSION 2.6)
|
||||
|
||||
SET(lib_target "CppUnitLite")
|
||||
FILE(GLOB cppunitlite_src "./*.cpp")
|
||||
|
||||
############################# COMPILE LIBRARY
|
||||
ADD_LIBRARY(${lib_target} STATIC ${cppunitlite_src})
|
||||
#TARGET_LINK_LIBRARIES(${lib_target})
|
||||
|
||||
############################# INSTALL
|
||||
|
||||
#message(STATUS "install ${lib_target} to ${CMAKE_SOURCE_DIR}/lib")
|
||||
#install(TARGETS ${lib_target}
|
||||
# ARCHIVE DESTINATION lib COMPONENT dev
|
||||
# LIBRARY DESTINATION lib COMPONENT dev)
|
|
@ -0,0 +1,20 @@
|
|||
CMAKE_MINIMUM_REQUIRED (VERSION 2.6)
|
||||
|
||||
set(libs_support ${libs_support} CppUnitLite ${libs_gtsam})
|
||||
|
||||
if (BUILD_EXAMPLES)
|
||||
set(PROGRAMS "")
|
||||
set(PROGRAMS "${PROGRAMS};SimpleRotation")
|
||||
set(PROGRAMS "${PROGRAMS};PlanarSLAMExample_easy")
|
||||
set(PROGRAMS "${PROGRAMS};PlanarSLAMSelfContained_advanced")
|
||||
set(PROGRAMS "${PROGRAMS};Pose2SLAMExample_easy")
|
||||
set(PROGRAMS "${PROGRAMS};Pose2SLAMExample_advanced")
|
||||
# set(PROGRAMS "${PROGRAMS};Pose2SLAMwSPCG_easy")
|
||||
# set(PROGRAMS "${PROGRAMS};Pose2SLAMwSPCG_advanced")
|
||||
foreach(program ${PROGRAMS})
|
||||
add_executable(${program} "${program}.cpp")
|
||||
target_link_libraries(${program} ${libs_support})
|
||||
endforeach(program)
|
||||
endif ()
|
||||
|
||||
|
|
@ -0,0 +1,12 @@
|
|||
CMAKE_MINIMUM_REQUIRED (VERSION 2.6)
|
||||
|
||||
set(lib_target "gtsam")
|
||||
|
||||
add_subdirectory(base)
|
||||
add_subdirectory(geometry)
|
||||
add_subdirectory(inference)
|
||||
add_subdirectory(linear)
|
||||
add_subdirectory(nonlinear)
|
||||
add_subdirectory(slam)
|
||||
|
||||
#add_library(${lib_target} base geometry inference linear nonlinear slam)
|
|
@ -0,0 +1,54 @@
|
|||
CMAKE_MINIMUM_REQUIRED (VERSION 2.6)
|
||||
|
||||
SET(lib_target "base")
|
||||
FILE(GLOB base_src "./*.cpp")
|
||||
|
||||
############################# COMPILE LIBRARY
|
||||
ADD_LIBRARY(${lib_target} STATIC ${base_src})
|
||||
#TARGET_LINK_LIBRARIES(${lib_target})
|
||||
|
||||
############################# INSTALL
|
||||
|
||||
#message(STATUS "install ${lib_target} to ${CMAKE_SOURCE_DIR}/lib")
|
||||
#install(TARGETS ${lib_target}
|
||||
# ARCHIVE DESTINATION lib COMPONENT dev
|
||||
#LIBRARY DESTINATION lib COMPONENT dev)
|
||||
|
||||
# TESTS
|
||||
|
||||
set(libs_support ${libs_support} CppUnitLite)
|
||||
|
||||
if (BUILD_TESTS)
|
||||
set(PROGRAMS "")
|
||||
set(PROGRAMS "${PROGRAMS};testBTree")
|
||||
set(PROGRAMS "${PROGRAMS};testCholesky")
|
||||
set(PROGRAMS "${PROGRAMS};testDebug")
|
||||
set(PROGRAMS "${PROGRAMS};testDenseQRUtil")
|
||||
set(PROGRAMS "${PROGRAMS};testDSFVector")
|
||||
set(PROGRAMS "${PROGRAMS};testFixedVector")
|
||||
set(PROGRAMS "${PROGRAMS};testLieScalar")
|
||||
set(PROGRAMS "${PROGRAMS};testLieVector")
|
||||
set(PROGRAMS "${PROGRAMS};testMatrix")
|
||||
set(PROGRAMS "${PROGRAMS};testNumericalDerivative")
|
||||
set(PROGRAMS "${PROGRAMS};testTestableAssertions")
|
||||
set(PROGRAMS "${PROGRAMS};testVector")
|
||||
foreach(program ${PROGRAMS})
|
||||
add_executable(${program} "tests/${program}.cpp")
|
||||
target_link_libraries(${program} ${lib_target} ${libs_support})
|
||||
add_test(${program} ${program})
|
||||
endforeach(program)
|
||||
endif ()
|
||||
|
||||
if (BUILD_TIMINGS)
|
||||
set(PROGRAMS "")
|
||||
set(PROGRAMS "${PROGRAMS};timeMatrix")
|
||||
set(PROGRAMS "${PROGRAMS};timeublas")
|
||||
set(PROGRAMS "${PROGRAMS};timeTest")
|
||||
set(PROGRAMS "${PROGRAMS};timeVirtual")
|
||||
foreach(program ${PROGRAMS})
|
||||
add_executable(${program} "tests/${program}.cpp")
|
||||
target_link_libraries(${program} ${lib_target} ${libs_support})
|
||||
endforeach(program)
|
||||
endif ()
|
||||
|
||||
|
|
@ -0,0 +1,47 @@
|
|||
CMAKE_MINIMUM_REQUIRED (VERSION 2.6)
|
||||
|
||||
set (lib_target "geometry")
|
||||
file (GLOB geometry_src "./*.cpp")
|
||||
|
||||
############################# COMPILE LIBRARY
|
||||
|
||||
add_library (${lib_target} STATIC ${geometry_src})
|
||||
target_link_libraries (${lib_target} base)
|
||||
|
||||
# TESTS
|
||||
|
||||
set(libs_support ${libs_support} CppUnitLite)
|
||||
|
||||
if (BUILD_TESTS)
|
||||
set(PROGRAMS "")
|
||||
set(PROGRAMS "${PROGRAMS};testCal3Bundler")
|
||||
set(PROGRAMS "${PROGRAMS};testCal3DS2")
|
||||
set(PROGRAMS "${PROGRAMS};testCal3_S2")
|
||||
set(PROGRAMS "${PROGRAMS};testCalibratedCamera")
|
||||
set(PROGRAMS "${PROGRAMS};testFundamental")
|
||||
set(PROGRAMS "${PROGRAMS};testHomography2")
|
||||
set(PROGRAMS "${PROGRAMS};testPoint2")
|
||||
set(PROGRAMS "${PROGRAMS};testPoint3")
|
||||
set(PROGRAMS "${PROGRAMS};testRot2")
|
||||
set(PROGRAMS "${PROGRAMS};testRot3")
|
||||
set(PROGRAMS "${PROGRAMS};testSimpleCamera")
|
||||
set(PROGRAMS "${PROGRAMS};testStereoCamera")
|
||||
set(PROGRAMS "${PROGRAMS};testTensors")
|
||||
foreach(program ${PROGRAMS})
|
||||
add_executable(${program} "tests/${program}.cpp")
|
||||
target_link_libraries(${program} ${lib_target} ${libs_support})
|
||||
add_test(${program} ${program})
|
||||
endforeach(program)
|
||||
endif ()
|
||||
|
||||
if (BUILD_TIMINGS)
|
||||
set(PROGRAMS "")
|
||||
set(PROGRAMS "${PROGRAMS};timeCalibratedCamera")
|
||||
set(PROGRAMS "${PROGRAMS};timeRot3")
|
||||
foreach(program ${PROGRAMS})
|
||||
add_executable(${program} "tests/${program}.cpp")
|
||||
target_link_libraries(${program} ${lib_target} ${libs_support})
|
||||
endforeach(program)
|
||||
endif ()
|
||||
|
||||
|
|
@ -0,0 +1,48 @@
|
|||
CMAKE_MINIMUM_REQUIRED (VERSION 2.6)
|
||||
|
||||
set (lib_target "inference")
|
||||
file (GLOB inference_src "./*.cpp")
|
||||
|
||||
############################# COMPILE LIBRARY
|
||||
add_library (${lib_target} STATIC ${inference_src})
|
||||
target_link_libraries (${lib_target} base geometry ccolamd)
|
||||
|
||||
|
||||
# TESTS
|
||||
set(libs_support ${libs_support} CppUnitLite)
|
||||
|
||||
|
||||
if (BUILD_TESTS)
|
||||
set(PROGRAMS "")
|
||||
set(PROGRAMS "${PROGRAMS};testBayesTree")
|
||||
# set(PROGRAMS "${PROGRAMS};testBinaryBayesNet")
|
||||
set(PROGRAMS "${PROGRAMS};testClusterTree")
|
||||
set(PROGRAMS "${PROGRAMS};testConditional")
|
||||
set(PROGRAMS "${PROGRAMS};testEliminationTree")
|
||||
set(PROGRAMS "${PROGRAMS};testFactorGraph")
|
||||
set(PROGRAMS "${PROGRAMS};testInference")
|
||||
set(PROGRAMS "${PROGRAMS};testISAM")
|
||||
set(PROGRAMS "${PROGRAMS};testJunctionTree")
|
||||
set(PROGRAMS "${PROGRAMS};testSymbolicBayesNet")
|
||||
set(PROGRAMS "${PROGRAMS};testSymbolicFactor")
|
||||
set(PROGRAMS "${PROGRAMS};testSymbolicFactorGraph")
|
||||
set(PROGRAMS "${PROGRAMS};testVariableIndex")
|
||||
set(PROGRAMS "${PROGRAMS};testVariableSlots")
|
||||
foreach(program ${PROGRAMS})
|
||||
add_executable(${program} "tests/${program}.cpp")
|
||||
target_link_libraries(${program} ${lib_target} ${libs_support})
|
||||
add_test(${program} ${program})
|
||||
endforeach(program)
|
||||
endif ()
|
||||
|
||||
if (BUILD_TIMINGS)
|
||||
set(PROGRAMS "")
|
||||
# set(PROGRAMS "${PROGRAMS};timeSymbolMaps")
|
||||
foreach(program ${PROGRAMS})
|
||||
add_executable(${program} "tests/${program}.cpp")
|
||||
target_link_libraries(${program} ${lib_target} ${libs_support})
|
||||
endforeach(program)
|
||||
endif ()
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,49 @@
|
|||
CMAKE_MINIMUM_REQUIRED (VERSION 2.6)
|
||||
|
||||
set (lib_target "linear")
|
||||
#file (GLOB linear_src "./*.cpp")
|
||||
set (linear_src NoiseModel.cpp Errors.cpp Sampler.cpp GaussianSequentialSolver.cpp GaussianMultifrontalSolver.cpp
|
||||
JacobianFactor.cpp HessianFactor.cpp GaussianFactor.cpp GaussianFactorGraph.cpp
|
||||
GaussianJunctionTree.cpp GaussianConditional.cpp GaussianBayesNet.cpp GaussianISAM.cpp)
|
||||
|
||||
############################# COMPILE LIBRARY
|
||||
add_library (${lib_target} STATIC ${linear_src})
|
||||
target_link_libraries(${lib_target} base inference ccolamd)
|
||||
|
||||
# TESTS
|
||||
set(libs_support ${libs_support} CppUnitLite)
|
||||
|
||||
if (BUILD_TESTS)
|
||||
set(PROGRAMS "")
|
||||
# set(PROGRAMS "${PROGRAMS};testBayesNetPreconditioner")
|
||||
set(PROGRAMS "${PROGRAMS};testErrors")
|
||||
set(PROGRAMS "${PROGRAMS};testGaussianConditional")
|
||||
set(PROGRAMS "${PROGRAMS};testGaussianFactor")
|
||||
set(PROGRAMS "${PROGRAMS};testGaussianFactorGraph")
|
||||
set(PROGRAMS "${PROGRAMS};testGaussianJunctionTree")
|
||||
set(PROGRAMS "${PROGRAMS};testHessianFactor")
|
||||
set(PROGRAMS "${PROGRAMS};testNoiseModel")
|
||||
set(PROGRAMS "${PROGRAMS};testSampler")
|
||||
# set(PROGRAMS "${PROGRAMS};testVectorBTree")
|
||||
# set(PROGRAMS "${PROGRAMS};testVectorMap")
|
||||
set(PROGRAMS "${PROGRAMS};testVectorValues")
|
||||
foreach(program ${PROGRAMS})
|
||||
add_executable(${program} "tests/${program}.cpp")
|
||||
target_link_libraries(${program} ${lib_target} ${libs_support})
|
||||
add_test(${program} ${program})
|
||||
endforeach(program)
|
||||
endif ()
|
||||
|
||||
if (BUILD_TIMINGS)
|
||||
set(PROGRAMS "")
|
||||
set(PROGRAMS "${PROGRAMS};timeFactorOverhead")
|
||||
set(PROGRAMS "${PROGRAMS};timeGaussianFactor")
|
||||
set(PROGRAMS "${PROGRAMS};timeSLAMlike")
|
||||
# set(PROGRAMS "${PROGRAMS};timeVectorValues")
|
||||
foreach(program ${PROGRAMS})
|
||||
add_executable(${program} "tests/${program}.cpp")
|
||||
target_link_libraries(${program} ${lib_target} ${libs_support})
|
||||
endforeach(program)
|
||||
endif ()
|
||||
|
||||
|
|
@ -0,0 +1,32 @@
|
|||
CMAKE_MINIMUM_REQUIRED (VERSION 2.6)
|
||||
|
||||
set (lib_target "nonlinear")
|
||||
file (GLOB nonlinear_src "./*.cpp")
|
||||
|
||||
############################# COMPILE LIBRARY
|
||||
add_library (${lib_target} STATIC ${nonlinear_src})
|
||||
|
||||
# TESTS
|
||||
set(libs_support ${libs_support} CppUnitLite base)
|
||||
|
||||
if (BUILD_TESTS)
|
||||
set(PROGRAMS "")
|
||||
set(PROGRAMS "${PROGRAMS};testKey")
|
||||
set(PROGRAMS "${PROGRAMS};testLieValues")
|
||||
set(PROGRAMS "${PROGRAMS};testOrdering")
|
||||
foreach(program ${PROGRAMS})
|
||||
add_executable(${program} "tests/${program}.cpp")
|
||||
target_link_libraries(${program} ${lib_target} ${libs_support})
|
||||
add_test(${program} ${program})
|
||||
endforeach(program)
|
||||
endif ()
|
||||
|
||||
if (BUILD_TIMINGS)
|
||||
set(PROGRAMS "")
|
||||
foreach(program ${PROGRAMS})
|
||||
add_executable(${program} "tests/${program}.cpp")
|
||||
target_link_libraries(${program} ${lib_target} ${libs_support})
|
||||
endforeach(program)
|
||||
endif ()
|
||||
|
||||
|
|
@ -0,0 +1,46 @@
|
|||
CMAKE_MINIMUM_REQUIRED (VERSION 2.6)
|
||||
|
||||
# TESTS
|
||||
|
||||
set(libs_support ${libs_support} CppUnitLite ${libs_gtsam})
|
||||
|
||||
if (BUILD_TESTS)
|
||||
set(PROGRAMS "")
|
||||
set(PROGRAMS "${PROGRAMS};testGaussianBayesNet")
|
||||
set(PROGRAMS "${PROGRAMS};testGaussianFactor")
|
||||
set(PROGRAMS "${PROGRAMS};testGaussianFactorGraph")
|
||||
set(PROGRAMS "${PROGRAMS};testGaussianISAM")
|
||||
set(PROGRAMS "${PROGRAMS};testGraph")
|
||||
set(PROGRAMS "${PROGRAMS};testInference")
|
||||
set(PROGRAMS "${PROGRAMS};testGaussianJunctionTree")
|
||||
set(PROGRAMS "${PROGRAMS};testNonlinearEquality")
|
||||
set(PROGRAMS "${PROGRAMS};testNonlinearFactor")
|
||||
set(PROGRAMS "${PROGRAMS};testNonlinearFactorGraph")
|
||||
set(PROGRAMS "${PROGRAMS};testNonlinearOptimizer")
|
||||
set(PROGRAMS "${PROGRAMS};testSymbolicBayesNet")
|
||||
set(PROGRAMS "${PROGRAMS};testSymbolicFactorGraph")
|
||||
set(PROGRAMS "${PROGRAMS};testTupleValues")
|
||||
set(PROGRAMS "${PROGRAMS};testNonlinearISAM")
|
||||
foreach(program ${PROGRAMS})
|
||||
set (program_exe "${program}-global")
|
||||
add_executable(${program_exe} "${program}.cpp")
|
||||
target_link_libraries(${program_exe} ${lib_target} ${libs_support})
|
||||
add_test(${program_exe} ${program_exe})
|
||||
endforeach(program)
|
||||
endif ()
|
||||
|
||||
|
||||
#check_PROGRAMS += testSerialization
|
||||
|
||||
if (BUILD_TIMINGS)
|
||||
set(PROGRAMS "")
|
||||
set(PROGRAMS "${PROGRAMS};timeGaussianFactorGraph")
|
||||
set(PROGRAMS "${PROGRAMS};timeSequentialOnDataset")
|
||||
set(PROGRAMS "${PROGRAMS};timeMultifrontalOnDataset")
|
||||
foreach(program ${PROGRAMS})
|
||||
set (program_exe "${program}-global")
|
||||
add_executable(${program_exe} "${program}.cpp")
|
||||
target_link_libraries(${program_exe} ${lib_target} ${libs_support})
|
||||
endforeach(program)
|
||||
endif ()
|
||||
|
Loading…
Reference in New Issue