From 72e89b0d6eb40ef9949fb5a316c0a51aceb916d6 Mon Sep 17 00:00:00 2001 From: Aleksei Panchenko Date: Sat, 3 Dec 2022 13:53:58 +0300 Subject: [PATCH] Catch2 tests moved under the flag BUILD_TESTING and are OFF be default --- .github/workflows/wheels.yml | 1 + CMakeLists.txt | 13 ++++++--- src/geometry/CMakeLists.txt | 27 ++++--------------- src/geometry/examples/CMakeLists.txt | 11 -------- src/geometry/tests/CMakeLists.txt | 9 +++++++ src/geometry/{examples => tests}/test_SE3.cpp | 0 .../{examples => tests}/test_SE3cov.cpp | 0 7 files changed, 24 insertions(+), 37 deletions(-) delete mode 100644 src/geometry/examples/CMakeLists.txt create mode 100644 src/geometry/tests/CMakeLists.txt rename src/geometry/{examples => tests}/test_SE3.cpp (100%) rename src/geometry/{examples => tests}/test_SE3cov.cpp (100%) diff --git a/.github/workflows/wheels.yml b/.github/workflows/wheels.yml index 66819d6..af8d0a1 100644 --- a/.github/workflows/wheels.yml +++ b/.github/workflows/wheels.yml @@ -27,6 +27,7 @@ jobs: cmake -S $PWD -B $PWD/build \ -DCMAKE_RUNTIME_OUTPUT_DIRECTORY=$PWD/bin \ -DCMAKE_LIBRARY_OUTPUT_DIRECTORY=$PWD/lib \ + -DBUILD_TESTING=TRUE \ && cmake --build build -j $(nproc) - name: C++ unit tests diff --git a/CMakeLists.txt b/CMakeLists.txt index 4c18547..09561a8 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -28,14 +28,19 @@ ELSEIF(CMAKE_CXX_COMPILER_ID MATCHES "Clang") ELSE() ENDIF(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC") +# BUILD_TESTING option handling. By default tests are turned off but the value is cached and can be changed in Cmake-GUI +set(BUILD_TESTING false CACHE BOOL "Build unit tests for MROB modules") + +MESSAGE(STATUS "Build Tests: ${BUILD_TESTING}") + IF(ANDROID) - SET(BUILD_TESTING OFF) + SET(BUILD_TESTING false) ELSE(ANDROID) - SET(BUILD_TESTING ON) - enable_testing() + IF(BUILD_TESTING) + enable_testing() + ENDIF(BUILD_TESTING) ENDIF(ANDROID) -MESSAGE(STATUS "Build Tests: ${BUILD_TESTING}") # =================================================================== INCLUDE_DIRECTORIES(SYSTEM ./external/Eigen) diff --git a/src/geometry/CMakeLists.txt b/src/geometry/CMakeLists.txt index dfa3ac1..b30df7c 100644 --- a/src/geometry/CMakeLists.txt +++ b/src/geometry/CMakeLists.txt @@ -1,6 +1,5 @@ # locate the additional necessary dependencies, if any - # extra source files SET(sources SO3.cpp @@ -16,25 +15,9 @@ SET(headers ) # create the shared library -ADD_LIBRARY(SE3 SHARED ${sources}) -#TARGET_LINK_LIBRARIES( .. ) -#target_link_libraries(${PROJECT_NAME} ${position_3d_LIBRARY}) - - -#install -#INSTALL(TARGETS people_prediction -# RUNTIME DESTINATION bin -# LIBRARY DESTINATION lib/SE3 -# ARCHIVE DESTINATION lib/SE3) - -#INSTALL(FILES ${headers} DESTINATION include/iridrivers/people_prediction) -#INSTALL(FILES ${headers_random} DESTINATION include/iridrivers/people_prediction/random) -#INSTALL(FILES ${headers_scene_elements} DESTINATION include/iridrivers/people_prediction/scene_elements) -#INSTALL(FILES ${headers_nav} DESTINATION include/iridrivers/people_prediction/nav) - - -#INSTALL(FILES ../Findpeople_prediction.cmake DESTINATION ${CMAKE_ROOT}/Modules/) - +ADD_LIBRARY(SE3 SHARED ${sources}) -ADD_SUBDIRECTORY(examples) -#ADD_SUBDIRECTORY(test) +# build tests if enabled +IF(BUILD_TESTING) + ADD_SUBDIRECTORY(tests) +ENDIF(BUILD_TESTING) diff --git a/src/geometry/examples/CMakeLists.txt b/src/geometry/examples/CMakeLists.txt deleted file mode 100644 index aaec2a3..0000000 --- a/src/geometry/examples/CMakeLists.txt +++ /dev/null @@ -1,11 +0,0 @@ -IF (BUILD_TESTING) - INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/external/Catch2/single_include/) - - ADD_EXECUTABLE(test_SE3 test_SE3.cpp) - TARGET_LINK_LIBRARIES(test_SE3 SE3) - ADD_TEST(NAME test_SE3 COMMAND $) - - ADD_EXECUTABLE(test_SE3cov test_SE3cov.cpp) - TARGET_LINK_LIBRARIES(test_SE3cov SE3) - ADD_TEST(NAME test_SE3cov COMMAND $) -ENDIF(BUILD_TESTING) diff --git a/src/geometry/tests/CMakeLists.txt b/src/geometry/tests/CMakeLists.txt new file mode 100644 index 0000000..9edfa86 --- /dev/null +++ b/src/geometry/tests/CMakeLists.txt @@ -0,0 +1,9 @@ +INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/external/Catch2/single_include/) + +ADD_EXECUTABLE(test_SE3 test_SE3.cpp) +TARGET_LINK_LIBRARIES(test_SE3 SE3) +ADD_TEST(NAME test_SE3 COMMAND $) + +ADD_EXECUTABLE(test_SE3cov test_SE3cov.cpp) +TARGET_LINK_LIBRARIES(test_SE3cov SE3) +ADD_TEST(NAME test_SE3cov COMMAND $) \ No newline at end of file diff --git a/src/geometry/examples/test_SE3.cpp b/src/geometry/tests/test_SE3.cpp similarity index 100% rename from src/geometry/examples/test_SE3.cpp rename to src/geometry/tests/test_SE3.cpp diff --git a/src/geometry/examples/test_SE3cov.cpp b/src/geometry/tests/test_SE3cov.cpp similarity index 100% rename from src/geometry/examples/test_SE3cov.cpp rename to src/geometry/tests/test_SE3cov.cpp