From 1d2e8beb937b3983018d6b063bd628e20ea090c8 Mon Sep 17 00:00:00 2001 From: Levi Armstrong Date: Thu, 16 Jan 2025 11:48:27 -0600 Subject: [PATCH] Fix cpack build and enable during CI pipeline --- .github/workflows/unstable.yml | 2 +- .run-cpack | 2 +- tesseract_examples/CMakeLists.txt | 41 +++++++++++++++++++ tesseract_task_composer/CMakeLists.txt | 2 + .../examples/CMakeLists.txt | 31 +++++++++++--- 5 files changed, 71 insertions(+), 7 deletions(-) diff --git a/.github/workflows/unstable.yml b/.github/workflows/unstable.yml index cb4d906cfb..e242c0dea2 100644 --- a/.github/workflows/unstable.yml +++ b/.github/workflows/unstable.yml @@ -63,4 +63,4 @@ jobs: vcs-file: dependencies_unstable.repos upstream-args: --cmake-args -DCMAKE_BUILD_TYPE=Release target-path: target_ws/src - target-args: --cmake-args -DCMAKE_BUILD_TYPE=Debug -DTESSERACT_ENABLE_TESTING=ON + target-args: --cmake-args -DCMAKE_BUILD_TYPE=Debug -DTESSERACT_ENABLE_TESTING=ON -DTESSERACT_PACKAGE=ON diff --git a/.run-cpack b/.run-cpack index 7d9ece3e23..d1cd29a386 100755 --- a/.run-cpack +++ b/.run-cpack @@ -20,7 +20,7 @@ echo " artifact_dir: $artifact_dir" echo " artifact_ext: $artifact_ext" echo " build_dir: $build_dir" -declare -a StringArray=("tesseract_command_language" "tesseract_time_parameterization" "tesseract_motion_planners" "tesseract_process_managers" "tesseract_task_composer") +declare -a StringArray=("tesseract_command_language" "tesseract_examples" "tesseract_motion_planners" "tesseract_task_composer" "tesseract_time_parameterization") # Iterate the packages using for loop for val in ${StringArray[@]}; do diff --git a/tesseract_examples/CMakeLists.txt b/tesseract_examples/CMakeLists.txt index b4f1842670..ae9645dd8b 100644 --- a/tesseract_examples/CMakeLists.txt +++ b/tesseract_examples/CMakeLists.txt @@ -164,3 +164,44 @@ if(TESSERACT_ENABLE_TESTING) add_run_tests_target(ENABLE ${TESSERACT_ENABLE_RUN_TESTING}) add_subdirectory(test) endif() + +if(TESSERACT_PACKAGE) + cpack( + VERSION ${pkg_extracted_version} + MAINTAINER_NAME ${pkg_extracted_maintainer_name} + MAINTAINER_EMAIL ${pkg_extracted_maintainer_email} + DESCRIPTION ${pkg_extracted_description} + LICENSE_FILE ${CMAKE_CURRENT_LIST_DIR}/../LICENSE + README_FILE ${CMAKE_CURRENT_LIST_DIR}/../README.md + LINUX_DEPENDS + "libconsole-bridge-dev" + "libpcl-dev" + "${TESSERACT_PACKAGE_PREFIX}tesseract-common" + "${TESSERACT_PACKAGE_PREFIX}tesseract-collision" + "${TESSERACT_PACKAGE_PREFIX}tesseract-environment" + "${TESSERACT_PACKAGE_PREFIX}tesseract-command-language" + "${TESSERACT_PACKAGE_PREFIX}tesseract-motion-planners" + "${TESSERACT_PACKAGE_PREFIX}tesseract-task-composer" + "${TESSERACT_PACKAGE_PREFIX}trajopt-sqp" + "${TESSERACT_PACKAGE_PREFIX}trajopt-ifopt" + WINDOWS_DEPENDS + "console-bridge" + "pcl" + "${TESSERACT_PACKAGE_PREFIX}tesseract-common" + "${TESSERACT_PACKAGE_PREFIX}tesseract-collision" + "${TESSERACT_PACKAGE_PREFIX}tesseract-environment" + "${TESSERACT_PACKAGE_PREFIX}tesseract-command-language" + "${TESSERACT_PACKAGE_PREFIX}tesseract-motion-planners" + "${TESSERACT_PACKAGE_PREFIX}tesseract-task-composer" + "${TESSERACT_PACKAGE_PREFIX}trajopt-sqp" + "${TESSERACT_PACKAGE_PREFIX}trajopt-ifopt") + + if(UNIX AND TESSERACT_PACKAGE_SOURCE) + cpack_debian_source_package( + CHANGLELOG ${CMAKE_CURRENT_LIST_DIR}/CHANGELOG.rst + UPLOAD ${TESSERACT_PACKAGE_SOURCE_UPLOAD} + DPUT_HOST ${TESSERACT_PACKAGE_SOURCE_DPUT_HOST} + DEBIAN_INCREMENT ${TESSERACT_PACKAGE_SOURCE_DEBIAN_INCREMENT} + DISTRIBUTIONS ${TESSERACT_PACKAGE_SOURCE_DISTRIBUTIONS}) + endif() +endif() diff --git a/tesseract_task_composer/CMakeLists.txt b/tesseract_task_composer/CMakeLists.txt index 8ae7c2095e..a22258155c 100644 --- a/tesseract_task_composer/CMakeLists.txt +++ b/tesseract_task_composer/CMakeLists.txt @@ -78,6 +78,8 @@ target_compile_definitions(${PROJECT_NAME} PRIVATE TESSERACT_TASK_COMPOSER_PLUGI # Examples if(TESSERACT_ENABLE_EXAMPLES) + message("Build task composer examples components") + list(APPEND SUPPORTED_COMPONENTS examples) add_subdirectory(examples) endif() diff --git a/tesseract_task_composer/examples/CMakeLists.txt b/tesseract_task_composer/examples/CMakeLists.txt index 1a62a5d94d..9b17f43499 100644 --- a/tesseract_task_composer/examples/CMakeLists.txt +++ b/tesseract_task_composer/examples/CMakeLists.txt @@ -53,9 +53,30 @@ target_cxx_version(${PROJECT_NAME}_raster_example PRIVATE VERSION ${TESSERACT_CX target_include_directories(${PROJECT_NAME}_raster_example PRIVATE "$") list(APPEND Examples ${PROJECT_NAME}_raster_example) -install( +# Configure Components +configure_component( + COMPONENT examples + NAMESPACE tesseract TARGETS ${Examples} - EXPORT ${PROJECT_NAME}-targets - RUNTIME DESTINATION bin - LIBRARY DESTINATION lib - ARCHIVE DESTINATION lib) + DEPENDENCIES + console_bridge + tesseract_environment + tesseract_command_language + tesseract_visualization) + +if(TESSERACT_PACKAGE) + cpack_component( + COMPONENT examples + VERSION ${pkg_extracted_version} + DESCRIPTION "Tesseract task composer examples components" + LINUX_DEPENDS + "libconsole-bridge-dev" + "${TESSERACT_PACKAGE_PREFIX}tesseract-environment" + "${TESSERACT_PACKAGE_PREFIX}tesseract-command-language" + "${TESSERACT_PACKAGE_PREFIX}tesseract-visualization" + WINDOWS_DEPENDS + "console-bridge" + "${TESSERACT_PACKAGE_PREFIX}tesseract-environment" + "${TESSERACT_PACKAGE_PREFIX}tesseract-command-language" + "${TESSERACT_PACKAGE_PREFIX}tesseract-visualization") +endif()