added tests folder to cmake build, fixed testSerialization due to namespace changes, set up linking with boost

release/4.3a0
Alex Cunningham 2012-01-31 05:28:00 +00:00
parent 927ac34014
commit e45514e858
4 changed files with 112 additions and 38 deletions

View File

@ -1778,6 +1778,70 @@
<useDefaultCommand>true</useDefaultCommand> <useDefaultCommand>true</useDefaultCommand>
<runAllBuilders>true</runAllBuilders> <runAllBuilders>true</runAllBuilders>
</target> </target>
<target name="gtsam-shared" path="build_cmake" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
<buildCommand>make</buildCommand>
<buildArguments>-j2</buildArguments>
<buildTarget>gtsam-shared</buildTarget>
<stopOnError>true</stopOnError>
<useDefaultCommand>true</useDefaultCommand>
<runAllBuilders>true</runAllBuilders>
</target>
<target name="check.tests" path="build_cmake" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
<buildCommand>make</buildCommand>
<buildArguments>-j2</buildArguments>
<buildTarget>check.tests</buildTarget>
<stopOnError>true</stopOnError>
<useDefaultCommand>true</useDefaultCommand>
<runAllBuilders>true</runAllBuilders>
</target>
<target name="tests.testSerialization.run" path="build_cmake" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
<buildCommand>make</buildCommand>
<buildArguments>-j2</buildArguments>
<buildTarget>tests.testSerialization.run</buildTarget>
<stopOnError>true</stopOnError>
<useDefaultCommand>true</useDefaultCommand>
<runAllBuilders>true</runAllBuilders>
</target>
<target name="timing.inference" path="build_cmake" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
<buildCommand>make</buildCommand>
<buildArguments>-j2</buildArguments>
<buildTarget>timing.inference</buildTarget>
<stopOnError>true</stopOnError>
<useDefaultCommand>true</useDefaultCommand>
<runAllBuilders>true</runAllBuilders>
</target>
<target name="timing.linear" path="build_cmake" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
<buildCommand>make</buildCommand>
<buildArguments>-j2</buildArguments>
<buildTarget>timing.linear</buildTarget>
<stopOnError>true</stopOnError>
<useDefaultCommand>true</useDefaultCommand>
<runAllBuilders>true</runAllBuilders>
</target>
<target name="timing.nonlinear" path="build_cmake" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
<buildCommand>make</buildCommand>
<buildArguments>-j2</buildArguments>
<buildTarget>timing.nonlinear</buildTarget>
<stopOnError>true</stopOnError>
<useDefaultCommand>true</useDefaultCommand>
<runAllBuilders>true</runAllBuilders>
</target>
<target name="timing.slam" path="build_cmake" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
<buildCommand>make</buildCommand>
<buildArguments>-j2</buildArguments>
<buildTarget>timing.slam</buildTarget>
<stopOnError>true</stopOnError>
<useDefaultCommand>true</useDefaultCommand>
<runAllBuilders>true</runAllBuilders>
</target>
<target name="timing.tests" path="build_cmake" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
<buildCommand>make</buildCommand>
<buildArguments>-j2</buildArguments>
<buildTarget>timing.tests</buildTarget>
<stopOnError>true</stopOnError>
<useDefaultCommand>true</useDefaultCommand>
<runAllBuilders>true</runAllBuilders>
</target>
<target name="tests/testDSFVector.run" path="build/gtsam/base" targetID="org.eclipse.cdt.build.MakeTargetBuilder"> <target name="tests/testDSFVector.run" path="build/gtsam/base" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
<buildCommand>make</buildCommand> <buildCommand>make</buildCommand>
<buildArguments>-j2</buildArguments> <buildArguments>-j2</buildArguments>

View File

@ -46,7 +46,7 @@ add_custom_target(check COMMAND ${CMAKE_CTEST_COMMAND})
add_custom_target(timing) add_custom_target(timing)
# Find boost # Find boost
find_package(Boost 1.40 REQUIRED) find_package(Boost 1.40 COMPONENTS serialization REQUIRED)
# General build settings # General build settings
include_directories( include_directories(
@ -64,7 +64,7 @@ add_subdirectory(gtsam)
add_subdirectory(CppUnitLite) add_subdirectory(CppUnitLite)
# Build Tests # Build Tests
#add_subdirectory(tests) add_subdirectory(tests)
# Build wrap # Build wrap
#add_subdirectory(wrap) #add_subdirectory(wrap)

View File

@ -1,31 +1,43 @@
include_directories( # Convenience targets
3rdparty/UFconfig add_custom_target(check.tests COMMAND ${CMAKE_CTEST_COMMAND})
3rdparty/CCOLAMD/Include add_custom_target(timing.tests)
${CMAKE_SOURCE_DIR})
find_package(Boost COMPONENTS serialization REQUIRED) set(tests_local_libs
slam
nonlinear
linear
inference
geometry
base
ccolamd
CppUnitLite
${Boost_LIBRARIES}
)
# Build tests # Build tests
file(GLOB tests_srcs "test*.cpp") file(GLOB tests_srcs "test*.cpp")
foreach(test_src ${tests_srcs}) foreach(test_src ${tests_srcs})
get_filename_component(test_base ${test_src} NAME_WE) get_filename_component(test_base ${test_src} NAME_WE)
set( test_bin ${test_base} ) set( test_bin tests.${test_base} )
add_executable(${test_bin} EXCLUDE_FROM_ALL ${test_src}) 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(check ${test_bin})
add_dependencies(${test_bin} ${PROJECT_NAME}-static) add_test(${test_base} ${EXECUTABLE_OUTPUT_PATH}${test_bin})
add_test(${test_bin} ${EXECUTABLE_OUTPUT_PATH}${test_bin}) target_link_libraries(${test_bin} ${tests_local_libs})
target_link_libraries(${test_bin} CppUnitLite gtsam-static ${Boost_SERIALIZATION_LIBRARY}) add_custom_target(${test_bin}.run ${EXECUTABLE_OUTPUT_PATH}${test_bin} ${ARGN})
add_custom_target(${test_base}.run ${EXECUTABLE_OUTPUT_PATH}${test_bin} ${ARGN})
endforeach(test_src) endforeach(test_src)
# Build timing scripts # Build timing scripts
file(GLOB time_srcs "time*.cpp") file(GLOB timing_srcs "time*.cpp")
foreach(time_src ${time_srcs}) foreach(time_src ${timing_srcs})
get_filename_component(time_base ${time_src} NAME_WE) get_filename_component(time_base ${time_src} NAME_WE)
set( time_bin ${time_base} ) set( time_bin tests.${time_base} )
add_executable(${time_bin} EXCLUDE_FROM_ALL ${time_src}) 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(timing ${time_bin})
add_dependencies(${test_bin} ${PROJECT_NAME}-static) target_link_libraries(${time_bin} ${tests_local_libs})
target_link_libraries(${time_bin} CppUnitLite gtsam-static) add_custom_target(${time_bin}.run ${EXECUTABLE_OUTPUT_PATH}${time_bin} ${ARGN})
add_custom_target(${time_base}.run ${EXECUTABLE_OUTPUT_PATH}${time_bin} ${ARGN}) endforeach(time_src)
endforeach(time_src)

View File

@ -159,8 +159,6 @@ bool equalsDereferencedXML(const T& input = T()) {
#include <gtsam/slam/pose3SLAM.h> #include <gtsam/slam/pose3SLAM.h>
#include <gtsam/slam/visualSLAM.h> #include <gtsam/slam/visualSLAM.h>
#include <gtsam/inference/BayesTree-inl.h>
#include <CppUnitLite/TestHarness.h> #include <CppUnitLite/TestHarness.h>
using namespace std; using namespace std;
@ -438,9 +436,9 @@ TEST (Serialization, gaussianISAM) {
/* ************************************************************************* */ /* ************************************************************************* */
/* Create GUIDs for factors in simulated2D */ /* Create GUIDs for factors in simulated2D */
BOOST_CLASS_EXPORT_GUID(gtsam::simulated2D::Prior, "gtsam::simulated2D::Prior" ); BOOST_CLASS_EXPORT_GUID(simulated2D::Prior, "gtsam::simulated2D::Prior" );
BOOST_CLASS_EXPORT_GUID(gtsam::simulated2D::Odometry, "gtsam::simulated2D::Odometry" ); BOOST_CLASS_EXPORT_GUID(simulated2D::Odometry, "gtsam::simulated2D::Odometry" );
BOOST_CLASS_EXPORT_GUID(gtsam::simulated2D::Measurement, "gtsam::simulated2D::Measurement"); BOOST_CLASS_EXPORT_GUID(simulated2D::Measurement, "gtsam::simulated2D::Measurement");
/* ************************************************************************* */ /* ************************************************************************* */
TEST (Serialization, smallExample) { TEST (Serialization, smallExample) {
using namespace example; using namespace example;
@ -455,12 +453,12 @@ TEST (Serialization, smallExample) {
/* ************************************************************************* */ /* ************************************************************************* */
/* Create GUIDs for factors */ /* Create GUIDs for factors */
BOOST_CLASS_EXPORT_GUID(gtsam::planarSLAM::Prior, "gtsam::planarSLAM::Prior"); BOOST_CLASS_EXPORT_GUID(planarSLAM::Prior, "gtsam::planarSLAM::Prior");
BOOST_CLASS_EXPORT_GUID(gtsam::planarSLAM::Bearing, "gtsam::planarSLAM::Bearing"); BOOST_CLASS_EXPORT_GUID(planarSLAM::Bearing, "gtsam::planarSLAM::Bearing");
BOOST_CLASS_EXPORT_GUID(gtsam::planarSLAM::Range, "gtsam::planarSLAM::Range"); BOOST_CLASS_EXPORT_GUID(planarSLAM::Range, "gtsam::planarSLAM::Range");
BOOST_CLASS_EXPORT_GUID(gtsam::planarSLAM::BearingRange,"gtsam::planarSLAM::BearingRange"); BOOST_CLASS_EXPORT_GUID(planarSLAM::BearingRange,"gtsam::planarSLAM::BearingRange");
BOOST_CLASS_EXPORT_GUID(gtsam::planarSLAM::Odometry, "gtsam::planarSLAM::Odometry"); BOOST_CLASS_EXPORT_GUID(planarSLAM::Odometry, "gtsam::planarSLAM::Odometry");
BOOST_CLASS_EXPORT_GUID(gtsam::planarSLAM::Constraint, "gtsam::planarSLAM::Constraint"); BOOST_CLASS_EXPORT_GUID(planarSLAM::Constraint, "gtsam::planarSLAM::Constraint");
/* ************************************************************************* */ /* ************************************************************************* */
TEST (Serialization, planar_system) { TEST (Serialization, planar_system) {
using namespace planarSLAM; using namespace planarSLAM;
@ -514,12 +512,12 @@ TEST (Serialization, planar_system) {
/* ************************************************************************* */ /* ************************************************************************* */
/* Create GUIDs for factors */ /* Create GUIDs for factors */
BOOST_CLASS_EXPORT_GUID(gtsam::visualSLAM::PoseConstraint, "gtsam::visualSLAM::PoseConstraint"); BOOST_CLASS_EXPORT_GUID(visualSLAM::PoseConstraint, "gtsam::visualSLAM::PoseConstraint");
BOOST_CLASS_EXPORT_GUID(gtsam::visualSLAM::PointConstraint, "gtsam::visualSLAM::PointConstraint"); BOOST_CLASS_EXPORT_GUID(visualSLAM::PointConstraint, "gtsam::visualSLAM::PointConstraint");
BOOST_CLASS_EXPORT_GUID(gtsam::visualSLAM::PosePrior, "gtsam::visualSLAM::PosePrior"); BOOST_CLASS_EXPORT_GUID(visualSLAM::PosePrior, "gtsam::visualSLAM::PosePrior");
BOOST_CLASS_EXPORT_GUID(gtsam::visualSLAM::PointPrior, "gtsam::visualSLAM::PointPrior"); BOOST_CLASS_EXPORT_GUID(visualSLAM::PointPrior, "gtsam::visualSLAM::PointPrior");
BOOST_CLASS_EXPORT_GUID(gtsam::visualSLAM::ProjectionFactor,"gtsam::visualSLAM::ProjectionFactor"); BOOST_CLASS_EXPORT_GUID(visualSLAM::ProjectionFactor,"gtsam::visualSLAM::ProjectionFactor");
BOOST_CLASS_EXPORT_GUID(gtsam::visualSLAM::StereoFactor, "gtsam::visualSLAM::StereoFactor"); BOOST_CLASS_EXPORT_GUID(visualSLAM::StereoFactor, "gtsam::visualSLAM::StereoFactor");
/* ************************************************************************* */ /* ************************************************************************* */
TEST (Serialization, visual_system) { TEST (Serialization, visual_system) {