diff --git a/.cproject b/.cproject
index 4e91622c1..30d73c4b9 100644
--- a/.cproject
+++ b/.cproject
@@ -1778,6 +1778,70 @@
true
true
+
+ make
+ -j2
+ gtsam-shared
+ true
+ true
+ true
+
+
+ make
+ -j2
+ check.tests
+ true
+ true
+ true
+
+
+ make
+ -j2
+ tests.testSerialization.run
+ true
+ true
+ true
+
+
+ make
+ -j2
+ timing.inference
+ true
+ true
+ true
+
+
+ make
+ -j2
+ timing.linear
+ true
+ true
+ true
+
+
+ make
+ -j2
+ timing.nonlinear
+ true
+ true
+ true
+
+
+ make
+ -j2
+ timing.slam
+ true
+ true
+ true
+
+
+ make
+ -j2
+ timing.tests
+ true
+ true
+ true
+
make
-j2
diff --git a/CMakeLists.txt b/CMakeLists.txt
index eee2aeeea..aa4cfa2f6 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -46,7 +46,7 @@ add_custom_target(check COMMAND ${CMAKE_CTEST_COMMAND})
add_custom_target(timing)
# Find boost
-find_package(Boost 1.40 REQUIRED)
+find_package(Boost 1.40 COMPONENTS serialization REQUIRED)
# General build settings
include_directories(
@@ -64,7 +64,7 @@ add_subdirectory(gtsam)
add_subdirectory(CppUnitLite)
# Build Tests
-#add_subdirectory(tests)
+add_subdirectory(tests)
# Build wrap
#add_subdirectory(wrap)
diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt
index 099307363..be4ed17dc 100644
--- a/tests/CMakeLists.txt
+++ b/tests/CMakeLists.txt
@@ -1,31 +1,43 @@
-include_directories(
- 3rdparty/UFconfig
- 3rdparty/CCOLAMD/Include
- ${CMAKE_SOURCE_DIR})
+# Convenience targets
+add_custom_target(check.tests COMMAND ${CMAKE_CTEST_COMMAND})
+add_custom_target(timing.tests)
-find_package(Boost COMPONENTS serialization REQUIRED)
+set(tests_local_libs
+ slam
+ nonlinear
+ linear
+ inference
+ geometry
+ base
+ ccolamd
+ CppUnitLite
+ ${Boost_LIBRARIES}
+)
# Build tests
file(GLOB tests_srcs "test*.cpp")
foreach(test_src ${tests_srcs})
get_filename_component(test_base ${test_src} NAME_WE)
- set( test_bin ${test_base} )
- add_executable(${test_bin} EXCLUDE_FROM_ALL ${test_src})
+ set( test_bin tests.${test_base} )
+ message(STATUS "Adding Test ${test_bin}")
+ add_executable(${test_bin} ${test_src})
+ add_dependencies(check.tests ${test_bin})
add_dependencies(check ${test_bin})
- add_dependencies(${test_bin} ${PROJECT_NAME}-static)
- add_test(${test_bin} ${EXECUTABLE_OUTPUT_PATH}${test_bin})
- target_link_libraries(${test_bin} CppUnitLite gtsam-static ${Boost_SERIALIZATION_LIBRARY})
- add_custom_target(${test_base}.run ${EXECUTABLE_OUTPUT_PATH}${test_bin} ${ARGN})
+ add_test(${test_base} ${EXECUTABLE_OUTPUT_PATH}${test_bin})
+ target_link_libraries(${test_bin} ${tests_local_libs})
+ add_custom_target(${test_bin}.run ${EXECUTABLE_OUTPUT_PATH}${test_bin} ${ARGN})
endforeach(test_src)
# Build timing scripts
-file(GLOB time_srcs "time*.cpp")
-foreach(time_src ${time_srcs})
+file(GLOB timing_srcs "time*.cpp")
+foreach(time_src ${timing_srcs})
get_filename_component(time_base ${time_src} NAME_WE)
- set( time_bin ${time_base} )
- add_executable(${time_bin} EXCLUDE_FROM_ALL ${time_src})
+ set( time_bin tests.${time_base} )
+ message(STATUS "Adding Timing Benchmark ${time_bin}")
+ add_executable(${time_bin} ${time_src})
+ add_dependencies(timing.tests ${time_bin})
add_dependencies(timing ${time_bin})
- add_dependencies(${test_bin} ${PROJECT_NAME}-static)
- target_link_libraries(${time_bin} CppUnitLite gtsam-static)
- add_custom_target(${time_base}.run ${EXECUTABLE_OUTPUT_PATH}${time_bin} ${ARGN})
-endforeach(time_src)
\ No newline at end of file
+ target_link_libraries(${time_bin} ${tests_local_libs})
+ add_custom_target(${time_bin}.run ${EXECUTABLE_OUTPUT_PATH}${time_bin} ${ARGN})
+endforeach(time_src)
+
diff --git a/tests/testSerialization.cpp b/tests/testSerialization.cpp
index 4f499b393..72132deb6 100644
--- a/tests/testSerialization.cpp
+++ b/tests/testSerialization.cpp
@@ -159,8 +159,6 @@ bool equalsDereferencedXML(const T& input = T()) {
#include
#include
-#include
-
#include
using namespace std;
@@ -438,9 +436,9 @@ TEST (Serialization, gaussianISAM) {
/* ************************************************************************* */
/* Create GUIDs for factors in simulated2D */
-BOOST_CLASS_EXPORT_GUID(gtsam::simulated2D::Prior, "gtsam::simulated2D::Prior" );
-BOOST_CLASS_EXPORT_GUID(gtsam::simulated2D::Odometry, "gtsam::simulated2D::Odometry" );
-BOOST_CLASS_EXPORT_GUID(gtsam::simulated2D::Measurement, "gtsam::simulated2D::Measurement");
+BOOST_CLASS_EXPORT_GUID(simulated2D::Prior, "gtsam::simulated2D::Prior" );
+BOOST_CLASS_EXPORT_GUID(simulated2D::Odometry, "gtsam::simulated2D::Odometry" );
+BOOST_CLASS_EXPORT_GUID(simulated2D::Measurement, "gtsam::simulated2D::Measurement");
/* ************************************************************************* */
TEST (Serialization, smallExample) {
using namespace example;
@@ -455,12 +453,12 @@ TEST (Serialization, smallExample) {
/* ************************************************************************* */
/* Create GUIDs for factors */
-BOOST_CLASS_EXPORT_GUID(gtsam::planarSLAM::Prior, "gtsam::planarSLAM::Prior");
-BOOST_CLASS_EXPORT_GUID(gtsam::planarSLAM::Bearing, "gtsam::planarSLAM::Bearing");
-BOOST_CLASS_EXPORT_GUID(gtsam::planarSLAM::Range, "gtsam::planarSLAM::Range");
-BOOST_CLASS_EXPORT_GUID(gtsam::planarSLAM::BearingRange,"gtsam::planarSLAM::BearingRange");
-BOOST_CLASS_EXPORT_GUID(gtsam::planarSLAM::Odometry, "gtsam::planarSLAM::Odometry");
-BOOST_CLASS_EXPORT_GUID(gtsam::planarSLAM::Constraint, "gtsam::planarSLAM::Constraint");
+BOOST_CLASS_EXPORT_GUID(planarSLAM::Prior, "gtsam::planarSLAM::Prior");
+BOOST_CLASS_EXPORT_GUID(planarSLAM::Bearing, "gtsam::planarSLAM::Bearing");
+BOOST_CLASS_EXPORT_GUID(planarSLAM::Range, "gtsam::planarSLAM::Range");
+BOOST_CLASS_EXPORT_GUID(planarSLAM::BearingRange,"gtsam::planarSLAM::BearingRange");
+BOOST_CLASS_EXPORT_GUID(planarSLAM::Odometry, "gtsam::planarSLAM::Odometry");
+BOOST_CLASS_EXPORT_GUID(planarSLAM::Constraint, "gtsam::planarSLAM::Constraint");
/* ************************************************************************* */
TEST (Serialization, planar_system) {
using namespace planarSLAM;
@@ -514,12 +512,12 @@ TEST (Serialization, planar_system) {
/* ************************************************************************* */
/* Create GUIDs for factors */
-BOOST_CLASS_EXPORT_GUID(gtsam::visualSLAM::PoseConstraint, "gtsam::visualSLAM::PoseConstraint");
-BOOST_CLASS_EXPORT_GUID(gtsam::visualSLAM::PointConstraint, "gtsam::visualSLAM::PointConstraint");
-BOOST_CLASS_EXPORT_GUID(gtsam::visualSLAM::PosePrior, "gtsam::visualSLAM::PosePrior");
-BOOST_CLASS_EXPORT_GUID(gtsam::visualSLAM::PointPrior, "gtsam::visualSLAM::PointPrior");
-BOOST_CLASS_EXPORT_GUID(gtsam::visualSLAM::ProjectionFactor,"gtsam::visualSLAM::ProjectionFactor");
-BOOST_CLASS_EXPORT_GUID(gtsam::visualSLAM::StereoFactor, "gtsam::visualSLAM::StereoFactor");
+BOOST_CLASS_EXPORT_GUID(visualSLAM::PoseConstraint, "gtsam::visualSLAM::PoseConstraint");
+BOOST_CLASS_EXPORT_GUID(visualSLAM::PointConstraint, "gtsam::visualSLAM::PointConstraint");
+BOOST_CLASS_EXPORT_GUID(visualSLAM::PosePrior, "gtsam::visualSLAM::PosePrior");
+BOOST_CLASS_EXPORT_GUID(visualSLAM::PointPrior, "gtsam::visualSLAM::PointPrior");
+BOOST_CLASS_EXPORT_GUID(visualSLAM::ProjectionFactor,"gtsam::visualSLAM::ProjectionFactor");
+BOOST_CLASS_EXPORT_GUID(visualSLAM::StereoFactor, "gtsam::visualSLAM::StereoFactor");
/* ************************************************************************* */
TEST (Serialization, visual_system) {