From 7d978c20a866a79430b808826d8f5b5afe427f36 Mon Sep 17 00:00:00 2001 From: Michael Ripperger Date: Mon, 13 Nov 2023 17:45:13 -0600 Subject: [PATCH 1/3] Updated to use RICB --- rct_common/CMakeLists.txt | 51 +++--------------- rct_common/cmake/rct_common-config.cmake.in | 11 ---- rct_common/cmake/rct_macros.cmake | 52 ------------------- rct_examples/CMakeLists.txt | 6 ++- rct_image_tools/CMakeLists.txt | 25 ++++++--- .../cmake/rct_image_tools-config.cmake.in | 15 ------ rct_image_tools/package.xml | 1 + rct_image_tools/test/CMakeLists.txt | 2 +- rct_optimizations/CMakeLists.txt | 26 ++++++++-- .../cmake/rct_optimizations-config.cmake.in | 13 ----- rct_optimizations/test/CMakeLists.txt | 28 +++++----- 11 files changed, 66 insertions(+), 164 deletions(-) delete mode 100644 rct_common/cmake/rct_common-config.cmake.in delete mode 100644 rct_common/cmake/rct_macros.cmake delete mode 100644 rct_image_tools/cmake/rct_image_tools-config.cmake.in delete mode 100644 rct_optimizations/cmake/rct_optimizations-config.cmake.in diff --git a/rct_common/CMakeLists.txt b/rct_common/CMakeLists.txt index 0c5410bc..afee2496 100644 --- a/rct_common/CMakeLists.txt +++ b/rct_common/CMakeLists.txt @@ -1,7 +1,9 @@ cmake_minimum_required(VERSION 3.5.0) -project(rct_common VERSION 0.1.0) -include(cmake/rct_macros.cmake) +# Extract package name and version from package.xml +find_package(ros_industrial_cmake_boilerplate REQUIRED) +extract_package_metadata(pkg) +project(${pkg_extracted_name} VERSION ${pkg_extracted_version} LANGUAGES CXX) find_package(Eigen3 REQUIRED) if(NOT EIGEN3_INCLUDE_DIRS) @@ -14,46 +16,7 @@ if(NOT TARGET Eigen3::Eigen) set_property(TARGET Eigen3::Eigen PROPERTY INTERFACE_INCLUDE_DIRECTORIES ${EIGEN3_INCLUDE_DIRS}) endif() -if(RCT_BUILD_TESTS) - find_package(GTest QUIET) - if(NOT GTest_FOUND) - - include(ExternalProject) - - if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU") - set(GTEST_CXX_FLAGS "-w -std=c++14") - set(GTEST_C_FLAGS "-w") - - ExternalProject_Add( - GTest - GIT_REPOSITORY https://github.com/google/googletest.git - GIT_TAG release-1.8.1 - SOURCE_DIR ${CMAKE_BINARY_DIR}/../rct_common/googletest-src - BINARY_DIR ${CMAKE_BINARY_DIR}/../rct_common/googletest-build - CMAKE_CACHE_ARGS - -DCMAKE_INSTALL_PREFIX:STRING=${CMAKE_INSTALL_PREFIX} - -DCMAKE_BUILD_TYPE:STRING=Release - -DCMAKE_CXX_FLAGS:STRING=${GTEST_CXX_FLAGS} - -DCMAKE_C_FLAGS:STRING=${GTEST_C_FLAGS} - -DBUILD_GMOCK:BOOL=OFF - -DBUILD_GTEST:BOOL=ON - -DBUILD_SHARED_LIBS:BOOL=ON) - elseif(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC") - ExternalProject_Add( - GTest - GIT_REPOSITORY https://github.com/google/googletest.git - GIT_TAG release-1.8.1 - SOURCE_DIR ${CMAKE_BINARY_DIR}/../rct_common/googletest-src - BINARY_DIR ${CMAKE_BINARY_DIR}/../rct_common/googletest-build - CMAKE_CACHE_ARGS - -DCMAKE_INSTALL_PREFIX:STRING=${CMAKE_INSTALL_PREFIX} - -DCMAKE_BUILD_TYPE:STRING=Release - -DBUILD_GMOCK:BOOL=OFF - -DBUILD_GTEST:BOOL=ON - -DBUILD_SHARED_LIBS:BOOL=ON) - endif() - endif() -endif() +find_gtest() add_library(${PROJECT_NAME} INTERFACE) target_compile_options(${PROJECT_NAME} INTERFACE -std=c++11) @@ -61,8 +24,6 @@ target_include_directories(${PROJECT_NAME} INTERFACE "$") target_link_libraries(${PROJECT_NAME} INTERFACE Eigen3::Eigen) -rct_configure_package(${PROJECT_NAME}) +configure_package(TARGETS ${PROJECT_NAME} NAMESPACE rct DEPENDENCIES Eigen3) install(DIRECTORY include/${PROJECT_NAME} DESTINATION include) - -install(FILES "${CMAKE_CURRENT_LIST_DIR}/cmake/rct_macros.cmake" DESTINATION lib/cmake/${PROJECT_NAME}) diff --git a/rct_common/cmake/rct_common-config.cmake.in b/rct_common/cmake/rct_common-config.cmake.in deleted file mode 100644 index 4da87252..00000000 --- a/rct_common/cmake/rct_common-config.cmake.in +++ /dev/null @@ -1,11 +0,0 @@ -@PACKAGE_INIT@ - -set(@PROJECT_NAME@_FOUND ON) -set_and_check(@PROJECT_NAME@_LIBRARY_DIRS "${PACKAGE_PREFIX_DIR}/lib") - -include(CMakeFindDependencyMacro) -find_dependency(Eigen3) - -include("${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME@-targets.cmake") -include("${CMAKE_CURRENT_LIST_DIR}/rct_macros.cmake") - diff --git a/rct_common/cmake/rct_macros.cmake b/rct_common/cmake/rct_macros.cmake deleted file mode 100644 index 3975bea2..00000000 --- a/rct_common/cmake/rct_macros.cmake +++ /dev/null @@ -1,52 +0,0 @@ -# Performs multiple operation so other packages may find a package Adapted from the Tesseract CMake macros Usage: -# rct_configure_package(targetA targetB ...) * It installs the provided targets * It exports the provided targets under -# the namespace rct:: * It installs the package.xml file * It create and install the ${PROJECT_NAME}-config.cmake and -# ${PROJECT_NAME}-config-version.cmake -macro(rct_configure_package) - install( - TARGETS ${ARGV} - EXPORT ${PROJECT_NAME}-targets - RUNTIME DESTINATION bin - LIBRARY DESTINATION lib - ARCHIVE DESTINATION lib) - install(EXPORT ${PROJECT_NAME}-targets NAMESPACE rct:: DESTINATION lib/cmake/${PROJECT_NAME}) - - install(FILES package.xml DESTINATION share/${PROJECT_NAME}) - - # Create cmake config files - include(CMakePackageConfigHelpers) - configure_package_config_file( - ${CMAKE_CURRENT_LIST_DIR}/cmake/${PROJECT_NAME}-config.cmake.in - ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}-config.cmake INSTALL_DESTINATION lib/cmake/${PROJECT_NAME} - NO_CHECK_REQUIRED_COMPONENTS_MACRO) - - write_basic_package_version_file(${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}-config-version.cmake - VERSION ${PROJECT_VERSION} COMPATIBILITY ExactVersion) - - install(FILES "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}-config.cmake" - "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}-config-version.cmake" - DESTINATION lib/cmake/${PROJECT_NAME}) - - export(EXPORT ${PROJECT_NAME}-targets NAMESPACE rct:: FILE ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}-targets.cmake) -endmacro() - -# This macro call the appropriate gtest function to add a test based on the cmake version Usage: -# rct_gtest_discover_tests(target) -macro(rct_gtest_discover_tests target) - if(${CMAKE_VERSION} VERSION_LESS "3.10.0") - gtest_add_tests(${target} "" AUTO) - else() - gtest_discover_tests(${target}) - endif() -endmacro() - -# This macro add a custom target that will run the tests after they are finished building when RCT_RUN_TESTS is enabled -# This is added to allow ability do disable the running of tests as part of the build for CI which calls make test -macro(rct_add_run_tests_target) - if(RCT_RUN_TESTS) - add_custom_target(run_tests ALL WORKING_DIRECTORY ${CMAKE_BINARY_DIR} - COMMAND ${CMAKE_CTEST_COMMAND} -V -O "/tmp/${PROJECT_NAME}_ctest.log" -C $) - else() - add_custom_target(run_tests) - endif() -endmacro() diff --git a/rct_examples/CMakeLists.txt b/rct_examples/CMakeLists.txt index 06f9004b..e74e7c1e 100644 --- a/rct_examples/CMakeLists.txt +++ b/rct_examples/CMakeLists.txt @@ -1,5 +1,9 @@ cmake_minimum_required(VERSION 3.5.0) -project(rct_examples) + +# Extract package name and version from package.xml +find_package(ros_industrial_cmake_boilerplate REQUIRED) +extract_package_metadata(pkg) +project(${pkg_extracted_name} VERSION ${pkg_extracted_version} LANGUAGES CXX) add_compile_options(-std=c++11 -Wall -Wextra) diff --git a/rct_image_tools/CMakeLists.txt b/rct_image_tools/CMakeLists.txt index a53cf4e0..d0f80941 100644 --- a/rct_image_tools/CMakeLists.txt +++ b/rct_image_tools/CMakeLists.txt @@ -1,10 +1,13 @@ cmake_minimum_required(VERSION 3.5.0) -project(rct_image_tools VERSION 0.1.0 LANGUAGES CXX) -find_package(Boost REQUIRED) +# Extract package name and version from package.xml +find_package(ros_industrial_cmake_boilerplate REQUIRED) +extract_package_metadata(pkg) +project(${pkg_extracted_name} VERSION ${pkg_extracted_version} LANGUAGES CXX) + +find_package(Boost REQUIRED COMPONENTS filesystem) find_package(OpenCV REQUIRED) find_package(yaml-cpp REQUIRED) -find_package(rct_common REQUIRED) find_package(rct_optimizations REQUIRED) find_package(Eigen3 REQUIRED) @@ -31,10 +34,10 @@ target_compile_options(${PROJECT_NAME} PUBLIC -std=c++11) target_compile_options(${PROJECT_NAME} PRIVATE -Wall -Wextra) target_include_directories(${PROJECT_NAME} PUBLIC "$" "$") -target_include_directories(${PROJECT_NAME} SYSTEM PUBLIC ${Boost_INCLUDE_DIRS}) target_link_libraries( ${PROJECT_NAME} - PUBLIC ${Boost_LIBRARIES} + PUBLIC Boost::boost + Boost::filesystem opencv_core opencv_aruco opencv_features2d @@ -54,10 +57,18 @@ target_link_libraries(${PROJECT_NAME}_test ${PROJECT_NAME} rct::rct_optimization if(RCT_BUILD_TESTS) enable_testing() - rct_add_run_tests_target() + add_run_tests_target(ENABLE ${RCT_ENABLE_RUN_TESTS}) add_subdirectory(test) endif() -rct_configure_package(${PROJECT_NAME}) +configure_package( + NAMESPACE rct + TARGETS ${PROJECT_NAME} + ${PROJECT_NAME}_test + DEPENDENCIES + "Boost REQUIRED COMPONENTS filesystem" + OpenCV + rct_optimizations + yaml-cpp) install(DIRECTORY include/${PROJECT_NAME} DESTINATION include) diff --git a/rct_image_tools/cmake/rct_image_tools-config.cmake.in b/rct_image_tools/cmake/rct_image_tools-config.cmake.in deleted file mode 100644 index 029bb561..00000000 --- a/rct_image_tools/cmake/rct_image_tools-config.cmake.in +++ /dev/null @@ -1,15 +0,0 @@ -@PACKAGE_INIT@ - -set(@PROJECT_NAME@_FOUND ON) -set_and_check(@PROJECT_NAME@_INCLUDE_DIRS "${PACKAGE_PREFIX_DIR}/include") -set_and_check(@PROJECT_NAME@_LIBRARY_DIRS "${PACKAGE_PREFIX_DIR}/lib") - -include(CMakeFindDependencyMacro) -find_dependency(Boost) -find_dependency(Eigen3) -find_dependency(OpenCV) -find_dependency(yaml-cpp) -find_dependency(rct_common) -find_dependency(rct_optimizations) - -include("${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME@-targets.cmake") diff --git a/rct_image_tools/package.xml b/rct_image_tools/package.xml index d4dc703d..bfb2480c 100644 --- a/rct_image_tools/package.xml +++ b/rct_image_tools/package.xml @@ -14,6 +14,7 @@ yaml-cpp libopencv-dev eigen + cmake diff --git a/rct_image_tools/test/CMakeLists.txt b/rct_image_tools/test/CMakeLists.txt index 989f2ed3..0282e1c2 100644 --- a/rct_image_tools/test/CMakeLists.txt +++ b/rct_image_tools/test/CMakeLists.txt @@ -2,7 +2,7 @@ find_package(GTest REQUIRED) add_executable(${PROJECT_NAME}_target_finder_test target_finder_utest.cpp) target_link_libraries(${PROJECT_NAME}_target_finder_test PRIVATE ${PROJECT_NAME} GTest::GTest GTest::Main) -rct_gtest_discover_tests(${PROJECT_NAME}_target_finder_test) +add_gtest_discover_tests(${PROJECT_NAME}_target_finder_test) add_dependencies(${PROJECT_NAME}_target_finder_test ${PROJECT_NAME}) add_dependencies(run_tests ${PROJECT_NAME}_target_finder_test) target_compile_definitions(${PROJECT_NAME}_target_finder_test diff --git a/rct_optimizations/CMakeLists.txt b/rct_optimizations/CMakeLists.txt index 53019144..cfa6b9a7 100644 --- a/rct_optimizations/CMakeLists.txt +++ b/rct_optimizations/CMakeLists.txt @@ -1,5 +1,9 @@ cmake_minimum_required(VERSION 3.5.0) -project(rct_optimizations VERSION 0.1.0 LANGUAGES CXX) + +# Extract package name and version from package.xml +find_package(ros_industrial_cmake_boilerplate REQUIRED) +extract_package_metadata(pkg) +project(${pkg_extracted_name} VERSION ${pkg_extracted_version} LANGUAGES CXX) find_package(rct_common REQUIRED) find_package(Boost REQUIRED) @@ -38,15 +42,27 @@ target_compile_options(${PROJECT_NAME} PUBLIC -std=c++11) target_compile_options(${PROJECT_NAME} PRIVATE -Wall -Wextra) target_include_directories(${PROJECT_NAME} PUBLIC "$" "$") -target_include_directories(${PROJECT_NAME} SYSTEM PUBLIC ${Boost_INCLUDE_DIRS} ${CERES_INCLUDE_DIRS}) -target_link_libraries(${PROJECT_NAME} PUBLIC ${Boost_LIBRARIES} ${CERES_LIBRARIES} yaml-cpp) +target_include_directories(${PROJECT_NAME} SYSTEM PUBLIC ${CERES_INCLUDE_DIRS}) +target_link_libraries( + ${PROJECT_NAME} + PUBLIC ${CERES_LIBRARIES} + rct::rct_common + Boost::boost + yaml-cpp) if(RCT_BUILD_TESTS) enable_testing() - rct_add_run_tests_target() + add_run_tests_target(ENABLE ${RCT_ENABLE_RUN_TESTS}) add_subdirectory(test) endif() -rct_configure_package(${PROJECT_NAME}) +configure_package( + NAMESPACE rct + TARGETS ${PROJECT_NAME} + DEPENDENCIES + Boost + rct_common + yaml-cpp + Ceres) install(DIRECTORY include/${PROJECT_NAME} DESTINATION include) diff --git a/rct_optimizations/cmake/rct_optimizations-config.cmake.in b/rct_optimizations/cmake/rct_optimizations-config.cmake.in deleted file mode 100644 index ffa4fec8..00000000 --- a/rct_optimizations/cmake/rct_optimizations-config.cmake.in +++ /dev/null @@ -1,13 +0,0 @@ -@PACKAGE_INIT@ - -set(@PROJECT_NAME@_FOUND ON) -set_and_check(@PROJECT_NAME@_INCLUDE_DIRS "${PACKAGE_PREFIX_DIR}/include") -set_and_check(@PROJECT_NAME@_LIBRARY_DIRS "${PACKAGE_PREFIX_DIR}/lib") - -include(CMakeFindDependencyMacro) -find_dependency(rct_common) -find_dependency(Boost) -find_dependency(Ceres) -find_dependency(yaml-cpp) - -include("${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME@-targets.cmake") diff --git a/rct_optimizations/test/CMakeLists.txt b/rct_optimizations/test/CMakeLists.txt index dbcb2e5b..cb1bdb06 100644 --- a/rct_optimizations/test/CMakeLists.txt +++ b/rct_optimizations/test/CMakeLists.txt @@ -16,7 +16,7 @@ target_compile_definitions(${PROJECT_NAME}_test_support PUBLIC RCT_RANDOM_SEED=0 # Conversions add_executable(${PROJECT_NAME}_conversion_tests conversion_utest.cpp) target_link_libraries(${PROJECT_NAME}_conversion_tests PRIVATE ${PROJECT_NAME}_test_support GTest::GTest GTest::Main) -rct_gtest_discover_tests(${PROJECT_NAME}_conversion_tests) +add_gtest_discover_tests(${PROJECT_NAME}_conversion_tests) add_dependencies(${PROJECT_NAME}_conversion_tests ${PROJECT_NAME}) add_dependencies(run_tests ${PROJECT_NAME}_conversion_tests) @@ -24,7 +24,7 @@ add_dependencies(run_tests ${PROJECT_NAME}_conversion_tests) add_executable(${PROJECT_NAME}_extrinsic_multi_static_camera_tests extrinsic_multi_static_camera_utest.cpp) target_link_libraries(${PROJECT_NAME}_extrinsic_multi_static_camera_tests PRIVATE ${PROJECT_NAME}_test_support GTest::GTest GTest::Main) -rct_gtest_discover_tests(${PROJECT_NAME}_extrinsic_multi_static_camera_tests) +add_gtest_discover_tests(${PROJECT_NAME}_extrinsic_multi_static_camera_tests) add_dependencies(${PROJECT_NAME}_extrinsic_multi_static_camera_tests ${PROJECT_NAME}) add_dependencies(run_tests ${PROJECT_NAME}_extrinsic_multi_static_camera_tests) @@ -32,14 +32,14 @@ add_dependencies(run_tests ${PROJECT_NAME}_extrinsic_multi_static_camera_tests) add_executable(${PROJECT_NAME}_extrinsic_hand_eye_tests extrinsic_hand_eye_utest.cpp) target_link_libraries(${PROJECT_NAME}_extrinsic_hand_eye_tests PRIVATE ${PROJECT_NAME}_test_support GTest::GTest GTest::Main) -rct_gtest_discover_tests(${PROJECT_NAME}_extrinsic_hand_eye_tests) +add_gtest_discover_tests(${PROJECT_NAME}_extrinsic_hand_eye_tests) add_dependencies(${PROJECT_NAME}_extrinsic_hand_eye_tests ${PROJECT_NAME}) add_dependencies(run_tests ${PROJECT_NAME}_extrinsic_hand_eye_tests) # DH Chain add_executable(${PROJECT_NAME}_dh_parameter_tests dh_parameter_utest.cpp) target_link_libraries(${PROJECT_NAME}_dh_parameter_tests PRIVATE ${PROJECT_NAME}_test_support GTest::GTest GTest::Main) -rct_gtest_discover_tests(${PROJECT_NAME}_dh_parameter_tests) +add_gtest_discover_tests(${PROJECT_NAME}_dh_parameter_tests) add_dependencies(${PROJECT_NAME}_dh_parameter_tests ${PROJECT_NAME}) add_dependencies(run_tests ${PROJECT_NAME}_dh_parameter_tests) @@ -47,7 +47,7 @@ add_dependencies(run_tests ${PROJECT_NAME}_dh_parameter_tests) add_executable(${PROJECT_NAME}_extrinsic_hand_eye_dh_chain_tests extrinsic_hand_eye_dh_chain_utest.cpp) target_link_libraries(${PROJECT_NAME}_extrinsic_hand_eye_dh_chain_tests PRIVATE ${PROJECT_NAME}_test_support GTest::GTest GTest::Main) -rct_gtest_discover_tests(${PROJECT_NAME}_extrinsic_hand_eye_dh_chain_tests) +add_gtest_discover_tests(${PROJECT_NAME}_extrinsic_hand_eye_dh_chain_tests) add_dependencies(${PROJECT_NAME}_extrinsic_hand_eye_dh_chain_tests ${PROJECT_NAME}) add_dependencies(run_tests ${PROJECT_NAME}_extrinsic_hand_eye_dh_chain_tests) @@ -65,14 +65,14 @@ add_dependencies(${PROJECT_NAME}_covariance_tests ${PROJECT_NAME}) # Homography add_executable(${PROJECT_NAME}_homography_tests homography_utest.cpp) target_link_libraries(${PROJECT_NAME}_homography_tests PRIVATE ${PROJECT_NAME}_test_support GTest::GTest GTest::Main) -rct_gtest_discover_tests(${PROJECT_NAME}_homography_tests) +add_gtest_discover_tests(${PROJECT_NAME}_homography_tests) add_dependencies(${PROJECT_NAME}_homography_tests ${PROJECT_NAME}) add_dependencies(run_tests ${PROJECT_NAME}_homography_tests) # PnP add_executable(${PROJECT_NAME}_pnp_tests pnp_utest.cpp) target_link_libraries(${PROJECT_NAME}_pnp_tests PRIVATE ${PROJECT_NAME}_test_support GTest::GTest GTest::Main) -rct_gtest_discover_tests(${PROJECT_NAME}_pnp_tests) +add_gtest_discover_tests(${PROJECT_NAME}_pnp_tests) add_dependencies(${PROJECT_NAME}_pnp_tests ${PROJECT_NAME}) add_dependencies(run_tests ${PROJECT_NAME}_pnp_tests) @@ -80,14 +80,14 @@ add_dependencies(run_tests ${PROJECT_NAME}_pnp_tests) add_executable(${PROJECT_NAME}_camera_intrinsic_validation_tests camera_intrinsic_calibration_validation_utest.cpp) target_link_libraries(${PROJECT_NAME}_camera_intrinsic_validation_tests PRIVATE ${PROJECT_NAME}_test_support GTest::GTest GTest::Main) -rct_gtest_discover_tests(${PROJECT_NAME}_camera_intrinsic_validation_tests) +add_gtest_discover_tests(${PROJECT_NAME}_camera_intrinsic_validation_tests) add_dependencies(${PROJECT_NAME}_camera_intrinsic_validation_tests ${PROJECT_NAME}) add_dependencies(run_tests ${PROJECT_NAME}_camera_intrinsic_validation_tests) # Noise Qualification add_executable(${PROJECT_NAME}_noise_tests noise_qualification_utest.cpp) target_link_libraries(${PROJECT_NAME}_noise_tests PRIVATE ${PROJECT_NAME}_test_support GTest::GTest GTest::Main) -rct_gtest_discover_tests(${PROJECT_NAME}_noise_tests) +add_gtest_discover_tests(${PROJECT_NAME}_noise_tests) add_dependencies(${PROJECT_NAME}_noise_tests ${PROJECT_NAME}) add_dependencies(run_tests ${PROJECT_NAME}_noise_tests) @@ -95,7 +95,7 @@ add_dependencies(run_tests ${PROJECT_NAME}_noise_tests) add_executable(${PROJECT_NAME}_maximum_likelihood_tests maximum_likelihood_utest.cpp) target_link_libraries(${PROJECT_NAME}_maximum_likelihood_tests PRIVATE ${PROJECT_NAME}_test_support GTest::GTest GTest::Main) -rct_gtest_discover_tests(${PROJECT_NAME}_maximum_likelihood_tests) +add_gtest_discover_tests(${PROJECT_NAME}_maximum_likelihood_tests) add_dependencies(${PROJECT_NAME}_maximum_likelihood_tests ${PROJECT_NAME}) add_dependencies(run_tests ${PROJECT_NAME}_maximum_likelihood_tests) @@ -103,7 +103,7 @@ add_dependencies(run_tests ${PROJECT_NAME}_maximum_likelihood_tests) add_executable(${PROJECT_NAME}_dh_chain_kinematic_calibration_tests dh_chain_kinematic_calibration_utest.cpp) target_link_libraries(${PROJECT_NAME}_dh_chain_kinematic_calibration_tests PRIVATE ${PROJECT_NAME}_test_support GTest::GTest GTest::Main) -rct_gtest_discover_tests(${PROJECT_NAME}_dh_chain_kinematic_calibration_tests) +add_gtest_discover_tests(${PROJECT_NAME}_dh_chain_kinematic_calibration_tests) add_dependencies(${PROJECT_NAME}_dh_chain_kinematic_calibration_tests ${PROJECT_NAME}) add_dependencies(run_tests ${PROJECT_NAME}_dh_chain_kinematic_calibration_tests) @@ -111,7 +111,7 @@ add_dependencies(run_tests ${PROJECT_NAME}_dh_chain_kinematic_calibration_tests) add_executable(${PROJECT_NAME}_local_parameterization_tests local_parameterization_utest.cpp) target_link_libraries(${PROJECT_NAME}_local_parameterization_tests PRIVATE ${PROJECT_NAME}_test_support GTest::GTest GTest::Main) -rct_gtest_discover_tests(${PROJECT_NAME}_local_parameterization_tests) +add_gtest_discover_tests(${PROJECT_NAME}_local_parameterization_tests) add_dependencies(${PROJECT_NAME}_local_parameterization_tests ${PROJECT_NAME}) add_dependencies(run_tests ${PROJECT_NAME}_local_parameterization_tests) @@ -119,14 +119,14 @@ add_dependencies(run_tests ${PROJECT_NAME}_local_parameterization_tests) add_executable(${PROJECT_NAME}_dh_chain_kinematic_measurement_tests dh_chain_kinematic_measurement_utest.cpp) target_link_libraries(${PROJECT_NAME}_dh_chain_kinematic_measurement_tests PRIVATE ${PROJECT_NAME}_test_support GTest::GTest GTest::Main) -rct_gtest_discover_tests(${PROJECT_NAME}_dh_chain_kinematic_measurement_tests) +add_gtest_discover_tests(${PROJECT_NAME}_dh_chain_kinematic_measurement_tests) add_dependencies(${PROJECT_NAME}_dh_chain_kinematic_measurement_tests ${PROJECT_NAME}) add_dependencies(run_tests ${PROJECT_NAME}_dh_chain_kinematic_measurement_tests) # DH Chain Kinematic Measurement Calibration add_executable(${PROJECT_NAME}_serialization_tests serialization_utest.cpp) target_link_libraries(${PROJECT_NAME}_serialization_tests PRIVATE ${PROJECT_NAME}_test_support GTest::GTest GTest::Main) -rct_gtest_discover_tests(${PROJECT_NAME}_serialization_tests) +add_gtest_discover_tests(${PROJECT_NAME}_serialization_tests) add_dependencies(${PROJECT_NAME}_serialization_tests ${PROJECT_NAME}) add_dependencies(run_tests ${PROJECT_NAME}_serialization_tests) From 404c2149c24dd1f684a8f79015b706fe80c17ef4 Mon Sep 17 00:00:00 2001 From: Michael Ripperger Date: Mon, 13 Nov 2023 17:45:25 -0600 Subject: [PATCH 2/3] Updated CI --- .github/workflows/main.yml | 3 ++- dependencies.repos | 5 +++++ 2 files changed, 7 insertions(+), 1 deletion(-) create mode 100644 dependencies.repos diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 1cd03edb..1800441f 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -17,8 +17,9 @@ jobs: BADGE: ${{ matrix.distro }} ROS_DISTRO: ${{ matrix.distro }} ROS_REPO: main + UPSTREAM_WORKSPACE: dependencies.repos VERBOSE_TESTS: true ADDITIONAL_DEBS: "git" - TARGET_CMAKE_ARGS: "-DRCT_BUILD_TESTS=ON" + TARGET_CMAKE_ARGS: "-DRCT_BUILD_TESTS=ON -DRCT_ENABLE_RUN_TESTS=OFF" CTEST_OUTPUT_ON_FAILURE: true AFTER_SCRIPT: "cd $target_ws/build/rct_optimizations && ctest -V && cd $target_ws/build/rct_image_tools && ctest -V" diff --git a/dependencies.repos b/dependencies.repos new file mode 100644 index 00000000..6552573d --- /dev/null +++ b/dependencies.repos @@ -0,0 +1,5 @@ +repositories: + ros_industrial_cmake_boilerplate: + type: git + url: https://github.com/ros-industrial/ros_industrial_cmake_boilerplate.git + version: 0.5.4 From d2d1a9b0bba5c26a7c811e2dcff17d04917a589e Mon Sep 17 00:00:00 2001 From: Michael Ripperger Date: Tue, 14 Nov 2023 09:10:56 -0600 Subject: [PATCH 3/3] Dropped Bionic build --- .github/workflows/main.yml | 12 +++++++----- README.md | 2 +- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 1800441f..940c12b6 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -3,23 +3,25 @@ name: CI on: [push, pull_request] jobs: - industrial_ci: + ci: strategy: fail-fast: false matrix: - distro: [melodic, noetic] + distro: [noetic] runs-on: ubuntu-latest + name: ${{ matrix.distro }} steps: - - uses: actions/checkout@v1 - - uses: 'ros-industrial/industrial_ci@master' + - name: Checkout + uses: actions/checkout@v1 + - name: Build + uses: 'ros-industrial/industrial_ci@master' env: BADGE: ${{ matrix.distro }} ROS_DISTRO: ${{ matrix.distro }} ROS_REPO: main UPSTREAM_WORKSPACE: dependencies.repos VERBOSE_TESTS: true - ADDITIONAL_DEBS: "git" TARGET_CMAKE_ARGS: "-DRCT_BUILD_TESTS=ON -DRCT_ENABLE_RUN_TESTS=OFF" CTEST_OUTPUT_ON_FAILURE: true AFTER_SCRIPT: "cd $target_ws/build/rct_optimizations && ctest -V && cd $target_ws/build/rct_image_tools && ctest -V" diff --git a/README.md b/README.md index 48e41059..6f0ee77d 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,7 @@ Platform | CI Status ---------------------- |:--------- -Linux (Focal & Bionic) | [![Build Status](https://github.com/Jmeyer1292/robot_cal_tools/workflows/CI/badge.svg)](https://github.com/Jmeyer1292/robot_cal_tools/actions) +Ubuntu (Focal) | [![Build Status](https://github.com/Jmeyer1292/robot_cal_tools/workflows/CI/badge.svg)](https://github.com/Jmeyer1292/robot_cal_tools/actions) Lint (Clang-Format) | [![Build Status](https://github.com/Jmeyer1292/robot_cal_tools/workflows/Clang-Format/badge.svg)](https://github.com/Jmeyer1292/robot_cal_tools/actions) Lint (CMake-Format) | [![Build Status](https://github.com/Jmeyer1292/robot_cal_tools/workflows/CMake-Format/badge.svg)](https://github.com/Jmeyer1292/robot_cal_tools/actions)