From ea40524351ffd0c653b41b0b495efecc2f390f8f Mon Sep 17 00:00:00 2001 From: Silvio Traversaro Date: Fri, 15 May 2020 23:29:33 +0200 Subject: [PATCH] Observe the CMake variable BUILD_TESTING if it is defined (#269) For backward compatibility if it is not defined compile the tests Signed-off-by: Silvio Signed-off-by: Steve Peters --- CMakeLists.txt | 10 +++- src/CMakeLists.txt | 144 +++++++++++++++++++++++---------------------- 2 files changed, 82 insertions(+), 72 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 60987b758..260293811 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -269,7 +269,15 @@ else (build_errors) link_directories(${PROJECT_BINARY_DIR}/src) - add_subdirectory(test) + if (NOT DEFINED BUILD_TESTING OR BUILD_TESTING) + set(BUILD_SDF_TEST TRUE) + else() + set(BUILD_SDF_TEST FALSE) + endif() + + if (BUILD_SDF_TEST) + add_subdirectory(test) + endif() add_subdirectory(src) add_subdirectory(include/sdf) add_subdirectory(sdf) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 133276433..bb8c7d1b5 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -93,84 +93,86 @@ else() include_directories(${URDF_INCLUDE_DIRS}) endif() -set (gtest_sources - Actor_TEST.cc - AirPressure_TEST.cc - Altimeter_TEST.cc - Atmosphere_TEST.cc - Box_TEST.cc - Camera_TEST.cc - Collision_TEST.cc - Console_TEST.cc - Cylinder_TEST.cc - Element_TEST.cc - Error_TEST.cc - Exception_TEST.cc - Frame_TEST.cc - Filesystem_TEST.cc - Geometry_TEST.cc - Gui_TEST.cc - Imu_TEST.cc - Joint_TEST.cc - JointAxis_TEST.cc - Lidar_TEST.cc - Light_TEST.cc - Link_TEST.cc - Magnetometer_TEST.cc - Material_TEST.cc - Mesh_TEST.cc - Model_TEST.cc - Noise_TEST.cc - Param_TEST.cc - parser_TEST.cc - Pbr_TEST.cc - Physics_TEST.cc - Plane_TEST.cc - Root_TEST.cc - Scene_TEST.cc - SemanticPose_TEST.cc - SDF_TEST.cc - Sensor_TEST.cc - Sphere_TEST.cc - Surface_TEST.cc - Types_TEST.cc - Visual_TEST.cc - World_TEST.cc -) - -# Build this test file only if Ignition Tools is installed. -if (IGNITION-TOOLS_BINARY_DIRS) - set (gtest_sources ${gtest_sources} - ign_TEST.cc +if (BUILD_SDF_TEST) + set (gtest_sources + Actor_TEST.cc + AirPressure_TEST.cc + Altimeter_TEST.cc + Atmosphere_TEST.cc + Box_TEST.cc + Camera_TEST.cc + Collision_TEST.cc + Console_TEST.cc + Cylinder_TEST.cc + Element_TEST.cc + Error_TEST.cc + Exception_TEST.cc + Frame_TEST.cc + Filesystem_TEST.cc + Geometry_TEST.cc + Gui_TEST.cc + Imu_TEST.cc + Joint_TEST.cc + JointAxis_TEST.cc + Lidar_TEST.cc + Light_TEST.cc + Link_TEST.cc + Magnetometer_TEST.cc + Material_TEST.cc + Mesh_TEST.cc + Model_TEST.cc + Noise_TEST.cc + Param_TEST.cc + parser_TEST.cc + Pbr_TEST.cc + Physics_TEST.cc + Plane_TEST.cc + Root_TEST.cc + Scene_TEST.cc + SemanticPose_TEST.cc + SDF_TEST.cc + Sensor_TEST.cc + Sphere_TEST.cc + Surface_TEST.cc + Types_TEST.cc + Visual_TEST.cc + World_TEST.cc ) -endif() -sdf_build_tests(${gtest_sources}) + # Build this test file only if Ignition Tools is installed. + if (IGNITION-TOOLS_BINARY_DIRS) + set (gtest_sources ${gtest_sources} + ign_TEST.cc + ) + endif() -if (NOT WIN32) - set(SDF_BUILD_TESTS_EXTRA_EXE_SRCS Utils.cc) - sdf_build_tests(Utils_TEST.cc) -endif() + sdf_build_tests(${gtest_sources}) -if (NOT WIN32) - set(SDF_BUILD_TESTS_EXTRA_EXE_SRCS FrameSemantics.cc) - sdf_build_tests(FrameSemantics_TEST.cc) -endif() + if (NOT WIN32) + set(SDF_BUILD_TESTS_EXTRA_EXE_SRCS Utils.cc) + sdf_build_tests(Utils_TEST.cc) + endif() -if (NOT WIN32) - set(SDF_BUILD_TESTS_EXTRA_EXE_SRCS Converter.cc EmbeddedSdf.cc) - sdf_build_tests(Converter_TEST.cc) -endif() + if (NOT WIN32) + set(SDF_BUILD_TESTS_EXTRA_EXE_SRCS FrameSemantics.cc) + sdf_build_tests(FrameSemantics_TEST.cc) + endif() + + if (NOT WIN32) + set(SDF_BUILD_TESTS_EXTRA_EXE_SRCS Converter.cc EmbeddedSdf.cc) + sdf_build_tests(Converter_TEST.cc) + endif() -if (NOT WIN32) - set(SDF_BUILD_TESTS_EXTRA_EXE_SRCS SDFExtension.cc parser_urdf.cc) - sdf_build_tests(parser_urdf_TEST.cc) - if (NOT USE_INTERNAL_URDF) - target_compile_options(UNIT_parser_urdf_TEST PRIVATE ${URDF_CFLAGS}) - if (${CMAKE_VERSION} VERSION_GREATER 3.13) - target_link_options(UNIT_parser_urdf_TEST PRIVATE ${URDF_LDFLAGS}) + if (NOT WIN32) + set(SDF_BUILD_TESTS_EXTRA_EXE_SRCS SDFExtension.cc parser_urdf.cc) + sdf_build_tests(parser_urdf_TEST.cc) + if (NOT USE_INTERNAL_URDF) + target_compile_options(UNIT_parser_urdf_TEST PRIVATE ${URDF_CFLAGS}) + if (${CMAKE_VERSION} VERSION_GREATER 3.13) + target_link_options(UNIT_parser_urdf_TEST PRIVATE ${URDF_LDFLAGS}) + endif() + target_link_libraries(UNIT_parser_urdf_TEST PRIVATE ${URDF_LIBRARIES}) endif() - target_link_libraries(UNIT_parser_urdf_TEST PRIVATE ${URDF_LIBRARIES}) endif() endif()