From c3030d175f75406722a5e9548027b809623c78e9 Mon Sep 17 00:00:00 2001 From: Alex Cunningham Date: Tue, 31 Jan 2012 05:27:54 +0000 Subject: [PATCH] geometry now builds with convenience targets and libraries --- .cproject | 281 ++++++++++++++++++---------------- CMakeLists.txt | 2 +- gtsam/CMakeLists.txt | 6 +- gtsam/base/CMakeLists.txt | 6 +- gtsam/geometry/CMakeLists.txt | 48 ++++++ 5 files changed, 204 insertions(+), 139 deletions(-) create mode 100644 gtsam/geometry/CMakeLists.txt diff --git a/.cproject b/.cproject index 5fc567cfb..e38672871 100644 --- a/.cproject +++ b/.cproject @@ -258,6 +258,14 @@ true true + + make + -j2 + testGaussianFactor.run + true + true + true + make -j2 @@ -284,7 +292,6 @@ make - tests/testBayesTree.run true false @@ -292,7 +299,6 @@ make - testBinaryBayesNet.run true false @@ -340,7 +346,6 @@ make - testSymbolicBayesNet.run true false @@ -348,7 +353,6 @@ make - tests/testSymbolicFactor.run true false @@ -356,7 +360,6 @@ make - testSymbolicFactorGraph.run true false @@ -372,20 +375,11 @@ make - tests/testBayesTree true false true - - make - -j2 - testGaussianFactor.run - true - true - true - make -j2 @@ -412,6 +406,7 @@ make + testGraph.run true false @@ -483,6 +478,7 @@ make + testInference.run true false @@ -490,6 +486,7 @@ make + testGaussianFactor.run true false @@ -497,6 +494,7 @@ make + testJunctionTree.run true false @@ -504,6 +502,7 @@ make + testSymbolicBayesNet.run true false @@ -511,6 +510,7 @@ make + testSymbolicFactorGraph.run true false @@ -580,22 +580,6 @@ false true - - make - -j2 - tests/testPose2.run - true - true - true - - - make - -j2 - tests/testPose3.run - true - true - true - make -j2 @@ -612,6 +596,22 @@ true true + + make + -j2 + tests/testPose2.run + true + true + true + + + make + -j2 + tests/testPose3.run + true + true + true + make -j2 @@ -636,15 +636,7 @@ true true - - make - -j2 - all - true - true - true - - + make -j2 check @@ -652,14 +644,6 @@ true true - - make - -j2 - clean - true - true - true - make -j2 @@ -700,7 +684,15 @@ true true - + + make + -j2 + all + true + true + true + + make -j2 check @@ -708,6 +700,14 @@ true true + + make + -j2 + clean + true + true + true + make -j2 @@ -1038,7 +1038,6 @@ make - testErrors.run true false @@ -1494,6 +1493,7 @@ make + testSimulated2DOriented.run true false @@ -1533,6 +1533,7 @@ make + testSimulated2D.run true false @@ -1540,6 +1541,7 @@ make + testSimulated3D.run true false @@ -1594,10 +1596,10 @@ make - -j2 + -j1 check true - true + false true @@ -1680,6 +1682,62 @@ true true + + make + -j2 VERBOSE=1 + check.geometry + true + false + true + + + make + -j2 + timing.geometry + true + true + true + + + make + -j2 + geometry + true + true + true + + + make + -j2 + geometry.testPoint2.run + true + true + true + + + make + -j2 + geometry.testPose2.run + true + true + true + + + make + -j2 + geometry.testPose3.run + true + true + true + + + make + -j1 VERBOSE=1 + geometry.testHomography2.run + true + false + true + make -j2 @@ -1930,6 +1988,7 @@ make + tests/testGaussianISAM2 true false @@ -1951,46 +2010,6 @@ true true - - make - -j2 - install - true - true - true - - - make - -j2 - clean - true - true - true - - - make - -j2 - check - true - true - true - - - make - -j2 - all - true - true - true - - - make - -j2 - dist - true - true - true - make -j2 @@ -2087,15 +2106,15 @@ true true - + make -j2 - check + install true true true - + make -j2 clean @@ -2103,15 +2122,15 @@ true true - + make -j2 - install + check true true true - + make -j2 all @@ -2119,42 +2138,10 @@ true true - + make -j2 - doxygen-doc - true - true - true - - - make - -j5 - check - true - false - true - - - make - -j5 - install - true - false - true - - - make - -j5 - check install - true - false - true - - - make - -j2 - check install + dist true true true @@ -2207,6 +2194,38 @@ true true + + make + -j2 + check + true + true + true + + + make + -j2 + clean + true + true + true + + + make + -j2 + install + true + true + true + + + make + -j2 + all + true + true + true + diff --git a/CMakeLists.txt b/CMakeLists.txt index bfce10a75..eee2aeeea 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,4 +1,4 @@ -project(gtsam CXX C) +project(GTSAM CXX C) cmake_minimum_required(VERSION 2.6) # Set the version number for the libarary diff --git a/gtsam/CMakeLists.txt b/gtsam/CMakeLists.txt index 5c5247425..84bb3aad2 100644 --- a/gtsam/CMakeLists.txt +++ b/gtsam/CMakeLists.txt @@ -3,7 +3,7 @@ set (gtsam_subdirs 3rdparty base - # geometry + geometry # inference # linear # nonlinear @@ -14,10 +14,6 @@ foreach(subdir ${gtsam_subdirs}) # Build local library and tests message(STATUS "Building ${subdir}") add_subdirectory(${subdir}) - - # link subfolder check to main check - add_dependencies(check check.${subdir}) - add_dependencies(timing timing.${subdir}) endforeach(subdir) #set (ccolamd_srcs diff --git a/gtsam/base/CMakeLists.txt b/gtsam/base/CMakeLists.txt index 8c16f5989..476740677 100644 --- a/gtsam/base/CMakeLists.txt +++ b/gtsam/base/CMakeLists.txt @@ -21,8 +21,9 @@ foreach(test_src ${base_tests_srcs}) get_filename_component(test_base ${test_src} NAME_WE) set( test_bin base.${test_base} ) message(STATUS "Adding Test ${test_bin}") - add_executable(${test_bin} EXCLUDE_FROM_ALL ${test_src}) + 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}) add_custom_target(${test_bin}.run ${EXECUTABLE_OUTPUT_PATH}${test_bin} ${ARGN}) @@ -34,8 +35,9 @@ foreach(time_src ${base_timing_srcs}) get_filename_component(time_base ${time_src} NAME_WE) set( time_bin base.${time_base} ) message(STATUS "Adding Timing Benchmark ${time_bin}") - add_executable(${time_bin} EXCLUDE_FROM_ALL ${time_src}) + 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}) add_custom_target(${time_bin}.run ${EXECUTABLE_OUTPUT_PATH}${time_bin} ${ARGN}) endforeach(time_src) diff --git a/gtsam/geometry/CMakeLists.txt b/gtsam/geometry/CMakeLists.txt new file mode 100644 index 000000000..ec16ba436 --- /dev/null +++ b/gtsam/geometry/CMakeLists.txt @@ -0,0 +1,48 @@ +# Build convenience libraries +file(GLOB geometry_srcs "*.cpp") +add_library(geometry STATIC ${geometry_srcs}) + +# link back to base +add_dependencies(geometry base) + +# Install headers +file(GLOB geometry_headers "*.h") +install(FILES ${geometry_headers} DESTINATION include/gtsam/geometry) + +add_custom_target(check.geometry COMMAND ${CMAKE_CTEST_COMMAND}) +add_custom_target(timing.geometry) + +# Components to link tests in this subfolder against +set(geometry_local_libs + geometry + base + CppUnitLite +) + +# Build tests +file(GLOB geometry_tests_srcs "tests/test*.cpp") +foreach(test_src ${geometry_tests_srcs}) + get_filename_component(test_base ${test_src} NAME_WE) + set( test_bin geometry.${test_base} ) + message(STATUS "Adding Test ${test_bin}") + add_executable(${test_bin} ${test_src}) + add_dependencies(check.geometry ${test_bin}) + add_dependencies(check ${test_bin}) + add_test(${test_base} ${EXECUTABLE_OUTPUT_PATH}${test_bin}) + target_link_libraries(${test_bin} ${geometry_local_libs}) + add_custom_target(${test_bin}.run ${EXECUTABLE_OUTPUT_PATH}${test_bin} ${ARGN}) +endforeach(test_src) + +# Build timing scripts +file(GLOB geometry_timing_srcs "tests/time*.cpp") +foreach(time_src ${geometry_timing_srcs}) + get_filename_component(time_base ${time_src} NAME_WE) + set( time_bin geometry.${time_base} ) + message(STATUS "Adding Timing Benchmark ${time_bin}") + 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}) + add_custom_target(${time_bin}.run ${EXECUTABLE_OUTPUT_PATH}${time_bin} ${ARGN}) +endforeach(time_src) +