Files
rtabmap/corelib/test/CMakeLists.txt
T
2026-06-10 20:07:30 -07:00

286 lines
11 KiB
CMake

add_definitions("-DRTABMAP_TEST_DATA_ROOT=\"${TEST_DATA_ROOT}\"")
#util2d.h
add_executable(test_util2d test_util2d.cpp)
target_link_libraries(test_util2d gtest_main rtabmap_core)
add_test(NAME test_util2d COMMAND test_util2d)
#util3d.h
add_executable(test_util3d test_util3d.cpp)
target_link_libraries(test_util3d gtest_main rtabmap_core)
add_test(NAME test_util3d COMMAND test_util3d)
#util3d_transforms.h
add_executable(test_util3d_transforms test_util3d_transforms.cpp)
target_link_libraries(test_util3d_transforms gtest_main rtabmap_core)
add_test(NAME test_util3d_transforms COMMAND test_util3d_transforms)
#util3d_filtering.h
add_executable(test_util3d_filtering test_util3d_filtering.cpp)
target_link_libraries(test_util3d_filtering gtest_main rtabmap_core)
add_test(NAME test_util3d_filtering COMMAND test_util3d_filtering)
#util3d_registration.h
add_executable(test_util3d_registration test_util3d_registration.cpp)
target_link_libraries(test_util3d_registration gtest_main rtabmap_core)
add_test(NAME test_util3d_registration COMMAND test_util3d_registration)
#util3d_features.h
add_executable(test_util3d_features test_util3d_features.cpp)
target_link_libraries(test_util3d_features gtest_main rtabmap_core)
add_test(NAME test_util3d_features COMMAND test_util3d_features)
#util3d_correspondences.h
add_executable(test_util3d_correspondences test_util3d_correspondences.cpp)
target_link_libraries(test_util3d_correspondences gtest_main rtabmap_core)
add_test(NAME test_util3d_correspondences COMMAND test_util3d_correspondences)
#util3d_mapping.h
add_executable(test_util3d_mapping test_util3d_mapping.cpp)
target_link_libraries(test_util3d_mapping gtest_main rtabmap_core)
add_test(NAME test_util3d_mapping COMMAND test_util3d_mapping)
#util3d_motion_estimation.h
add_executable(test_util3d_motion_estimation test_util3d_motion_estimation.cpp)
target_link_libraries(test_util3d_motion_estimation gtest_main rtabmap_core)
add_test(NAME test_util3d_motion_estimation COMMAND test_util3d_motion_estimation)
#util3d_surface.h
add_executable(test_util3d_surface test_util3d_surface.cpp)
target_link_libraries(test_util3d_surface gtest_main rtabmap_core)
add_test(NAME test_util3d_surface COMMAND test_util3d_surface)
#VisualWord.h
add_executable(test_visualword test_visualword.cpp)
target_link_libraries(test_visualword gtest_main rtabmap_core)
add_test(NAME test_visualword COMMAND test_visualword)
#VWDictionary.h
add_executable(test_vwdictionary test_vwdictionary.cpp)
target_link_libraries(test_vwdictionary gtest_main rtabmap_core)
add_test(NAME test_vwdictionary COMMAND test_vwdictionary)
#Transform.h
add_executable(test_transform test_transform.cpp)
target_link_libraries(test_transform gtest_main rtabmap_core)
add_test(NAME test_transform COMMAND test_transform)
#StereoDense.h (tests both BM and SGBM strategies)
add_executable(test_stereo_dense test_stereo_dense.cpp)
target_link_libraries(test_stereo_dense gtest_main rtabmap_core)
add_test(NAME test_stereo_dense COMMAND test_stereo_dense)
#Stereo.h (tests both BlockMatching and OpticalFlow strategies)
add_executable(test_stereo test_stereo.cpp)
target_link_libraries(test_stereo gtest_main rtabmap_core)
add_test(NAME test_stereo COMMAND test_stereo)
#CameraModel.h
add_executable(test_cameramodel test_cameramodel.cpp)
target_link_libraries(test_cameramodel gtest_main rtabmap_core)
add_test(NAME test_cameramodel COMMAND test_cameramodel)
#StereoCameraModel.h
add_executable(test_stereocameramodel test_stereocameramodel.cpp)
target_link_libraries(test_stereocameramodel gtest_main rtabmap_core)
add_test(NAME test_stereocameramodel COMMAND test_stereocameramodel)
#Statistics.h
add_executable(test_statistics test_statistics.cpp)
target_link_libraries(test_statistics gtest_main rtabmap_core)
add_test(NAME test_statistics COMMAND test_statistics)
#BayesFilter.h
add_executable(test_bayesfilter test_bayesfilter.cpp)
target_link_libraries(test_bayesfilter gtest_main rtabmap_core)
add_test(NAME test_bayesfilter COMMAND test_bayesfilter)
#Memory.h
add_executable(test_memory test_memory.cpp)
target_link_libraries(test_memory gtest_main rtabmap_core)
add_test(NAME test_memory COMMAND test_memory)
#Rtabmap.h
add_executable(test_rtabmap test_rtabmap.cpp)
target_link_libraries(test_rtabmap gtest_main rtabmap_core)
add_test(NAME test_rtabmap COMMAND test_rtabmap)
# Rtabmap end-to-end replay of sample DBs (test data fetched by
# scripts/fetch_test_data.sh into data/tests/*.db). Skips at runtime if the
# assets are absent, so the build stays green for contributors without them.
add_executable(test_rtabmap_integration test_rtabmap_integration.cpp)
target_link_libraries(test_rtabmap_integration gtest_main rtabmap_core)
# Labelled "long" so CI PR jobs can opt out via:
# `ctest -LE long`
# while nightlies run:
# `ctest -L long`.
add_test(NAME test_rtabmap_integration COMMAND test_rtabmap_integration)
set_tests_properties(test_rtabmap_integration PROPERTIES
TIMEOUT 1800
LABELS "long")
#Link.h
add_executable(test_link test_link.cpp)
target_link_libraries(test_link gtest_main rtabmap_core)
add_test(NAME test_link COMMAND test_link)
#Optimizer.h
add_executable(test_optimizer test_optimizer.cpp)
target_link_libraries(test_optimizer gtest_main rtabmap_core)
add_test(NAME test_optimizer COMMAND test_optimizer)
#GPS.h
add_executable(test_gps test_gps.cpp)
target_link_libraries(test_gps gtest_main rtabmap_core)
add_test(NAME test_gps COMMAND test_gps)
#IMU.h
add_executable(test_imu test_imu.cpp)
target_link_libraries(test_imu gtest_main rtabmap_core)
add_test(NAME test_imu COMMAND test_imu)
#IMUFilter.h
add_executable(test_imufilter test_imufilter.cpp)
target_link_libraries(test_imufilter gtest_main rtabmap_core)
add_test(NAME test_imufilter COMMAND test_imufilter)
#IMUThread.h
add_executable(test_imuthread test_imuthread.cpp)
target_link_libraries(test_imuthread gtest_main rtabmap_core)
add_test(NAME test_imuthread COMMAND test_imuthread)
#Landmark.h
add_executable(test_landmark test_landmark.cpp)
target_link_libraries(test_landmark gtest_main rtabmap_core)
add_test(NAME test_landmark COMMAND test_landmark)
#LocalGrid.h
add_executable(test_localgrid test_localgrid.cpp)
target_link_libraries(test_localgrid gtest_main rtabmap_core)
add_test(NAME test_localgrid COMMAND test_localgrid)
#Features2d.h
add_executable(test_features2d test_features2d.cpp)
target_link_libraries(test_features2d gtest_main rtabmap_core)
add_test(NAME test_features2d COMMAND test_features2d)
#GlobalMap.h
add_executable(test_globalmap test_globalmap.cpp)
target_link_libraries(test_globalmap gtest_main rtabmap_core)
add_test(NAME test_globalmap COMMAND test_globalmap)
#Registration.h
add_executable(test_registration test_registration.cpp)
target_link_libraries(test_registration gtest_main rtabmap_core)
add_test(NAME test_registration COMMAND test_registration)
#RegistrationVis.h
add_executable(test_registrationvis test_registrationvis.cpp)
target_link_libraries(test_registrationvis gtest_main rtabmap_core)
add_test(NAME test_registrationvis COMMAND test_registrationvis)
#RegistrationIcp.h
add_executable(test_registrationicp test_registrationicp.cpp)
target_link_libraries(test_registrationicp gtest_main rtabmap_core)
add_test(NAME test_registrationicp COMMAND test_registrationicp)
#LocalGridMaker.h
add_executable(test_localgridmaker test_localgridmaker.cpp)
target_link_libraries(test_localgridmaker gtest_main rtabmap_core)
add_test(NAME test_localgridmaker COMMAND test_localgridmaker)
#PythonInterface / PyDetector / PyDescriptor / PyMatcher (optional Python
# support; bridges to Python feature detectors (SuperPoint), global
# descriptors (NetVLAD), and matchers (SuperGlue). Tests use numpy-only stub
# scripts so no ML weights or extra packages are needed beyond what
# WITH_PYTHON already pulls in.
IF(WITH_PYTHON AND Python3_FOUND)
# Direct tests for PythonInterface / getPythonTraceback. Links pybind11
# and Python headers so the test can drive the Python C API directly.
add_executable(test_python_interface test_python_interface.cpp)
target_link_libraries(test_python_interface gtest_main rtabmap_core pybind11::embed)
target_include_directories(test_python_interface PRIVATE ${Python3_INCLUDE_DIRS})
add_test(NAME test_python_interface COMMAND test_python_interface)
add_executable(test_pydetector test_pydetector.cpp)
target_link_libraries(test_pydetector gtest_main rtabmap_core)
add_test(NAME test_pydetector COMMAND test_pydetector)
add_executable(test_pydescriptor test_pydescriptor.cpp)
target_link_libraries(test_pydescriptor gtest_main rtabmap_core)
add_test(NAME test_pydescriptor COMMAND test_pydescriptor)
# PyMatcher's header is internal (not in the public include tree);
# expose corelib/src so the test can `#include "python/PyMatcher.h"`.
add_executable(test_pymatcher test_pymatcher.cpp)
target_link_libraries(test_pymatcher gtest_main rtabmap_core)
target_include_directories(test_pymatcher PRIVATE
${CMAKE_SOURCE_DIR}/corelib/src)
add_test(NAME test_pymatcher COMMAND test_pymatcher)
ENDIF(WITH_PYTHON AND Python3_FOUND)
#LASWriter.h (optional libLAS)
IF(libLAS_FOUND)
add_executable(test_laswriter test_laswriter.cpp)
target_link_libraries(test_laswriter gtest_main rtabmap_core ${libLAS_LIBRARIES})
target_include_directories(test_laswriter PRIVATE ${libLAS_INCLUDE_DIRS})
add_test(NAME test_laswriter COMMAND test_laswriter)
ENDIF(libLAS_FOUND)
#Graph.h
add_executable(test_graph test_graph.cpp)
target_link_libraries(test_graph gtest_main rtabmap_core)
add_test(NAME test_graph COMMAND test_graph)
#GeodeticCoords.h
add_executable(test_geodeticcoords test_geodeticcoords.cpp)
target_link_libraries(test_geodeticcoords gtest_main rtabmap_core)
add_test(NAME test_geodeticcoords COMMAND test_geodeticcoords)
#Compression.h
add_executable(test_compression test_compression.cpp)
target_link_libraries(test_compression gtest_main rtabmap_core)
add_test(NAME test_compression COMMAND test_compression)
#Odometry.h
add_executable(test_odometry test_odometry.cpp)
target_link_libraries(test_odometry gtest_main rtabmap_core)
add_test(NAME test_odometry COMMAND test_odometry)
#DBDriver.h
add_executable(test_dbdriver test_dbdriver.cpp)
target_link_libraries(test_dbdriver gtest_main rtabmap_core)
add_test(NAME test_dbdriver COMMAND test_dbdriver)
#DBDriverSqlite3.h
add_executable(test_dbdriversqlite3 test_dbdriversqlite3.cpp)
target_link_libraries(test_dbdriversqlite3 gtest_main rtabmap_core)
add_test(NAME test_dbdriversqlite3 COMMAND test_dbdriversqlite3)
#Signature.h
add_executable(test_signature test_signature.cpp)
target_link_libraries(test_signature gtest_main rtabmap_core)
add_test(NAME test_signature COMMAND test_signature)
#SensorEvent.h
add_executable(test_sensorevent test_sensorevent.cpp)
target_link_libraries(test_sensorevent gtest_main rtabmap_core)
add_test(NAME test_sensorevent COMMAND test_sensorevent)
#SensorData.h
add_executable(test_sensordata test_sensordata.cpp)
target_link_libraries(test_sensordata gtest_main rtabmap_core)
add_test(NAME test_sensordata COMMAND test_sensordata)
#SensorCapture.h
add_executable(test_sensorcapture test_sensorcapture.cpp)
target_link_libraries(test_sensorcapture gtest_main rtabmap_core)
add_test(NAME test_sensorcapture COMMAND test_sensorcapture)
#SensorCaptureThread.h
add_executable(test_sensorcapturethread test_sensorcapturethread.cpp)
target_link_libraries(test_sensorcapturethread gtest_main rtabmap_core)
add_test(NAME test_sensorcapturethread COMMAND test_sensorcapturethread)