gtsam/tests/CMakeLists.txt

47 lines
1.7 KiB
CMake

# Assemble local libraries
set (tests_full_libs
${gtsam-default}
CppUnitLite)
# exclude certain files
# note the source dir on each
set (tests_exclude
#"${CMAKE_CURRENT_SOURCE_DIR}/testOccupancyGrid.cpp"
)
if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang") # might not be best test - Richard & Jason & Frank
# clang linker segfaults on large testSerializationSLAM
list (APPEND tests_exclude "${CMAKE_CURRENT_SOURCE_DIR}/testSerializationSLAM.cpp")
endif()
# Build tests
if (GTSAM_BUILD_TESTS)
# Subdirectory target for tests
add_custom_target(check.tests COMMAND ${CMAKE_CTEST_COMMAND})
set(is_test TRUE)
# Build grouped tests
gtsam_add_grouped_scripts("tests" # Use subdirectory as group label
"test*.cpp;*.h" check "Test" # Standard for all tests
"${tests_full_libs}" "${tests_full_libs}" "${tests_exclude}" # Pass in linking and exclusion lists
${is_test}) # Set all as tests
endif (GTSAM_BUILD_TESTS)
# Build timing scripts
if (GTSAM_BUILD_TIMING)
# Subdirectory target for timing - does not actually execute the scripts
add_custom_target(timing.tests)
set(is_test FALSE)
# Build grouped benchmarks
gtsam_add_grouped_scripts("tests" # Use subdirectory as group label
"time*.cpp" timing "Timing Benchmark" # Standard for all timing scripts
"${tests_full_libs}" "${tests_full_libs}" "${tests_exclude}" # Pass in linking and exclusion lists
${is_test})
endif (GTSAM_BUILD_TIMING)
if(MSVC)
set_property(SOURCE "${CMAKE_CURRENT_SOURCE_DIR}/testSerializationSLAM.cpp"
APPEND PROPERTY COMPILE_FLAGS "/bigobj")
endif()