diff --git a/pal_statistics/CMakeLists.txt b/pal_statistics/CMakeLists.txt index 2377719..b57786e 100644 --- a/pal_statistics/CMakeLists.txt +++ b/pal_statistics/CMakeLists.txt @@ -2,7 +2,23 @@ cmake_minimum_required(VERSION 3.10) project(pal_statistics) find_package(ament_cmake_auto REQUIRED) -ament_auto_find_build_dependencies() +find_package(ament_cmake_python REQUIRED) + +set(DEPENDENCIES + pal_statistics_msgs + rclcpp + rclcpp_lifecycle +) + +foreach(Dependency IN ITEMS ${DEPENDENCIES}) + find_package(${Dependency} REQUIRED) +endforeach() + +set(TARGET_DEPENDENCIES + ${pal_statistics_msgs_TARGETS} + rclcpp::rclcpp + ${rclcpp_lifecycle_TARGETS} +) if(WIN32) # set the same behavior for windows as it is on linux @@ -12,17 +28,28 @@ if(WIN32) if(NOT Boost_headers_FOUND) find_package(Boost REQUIRED) endif() -endif() - -ament_auto_add_library(${PROJECT_NAME} SHARED - src/pal_statistics_utils.cpp src/pal_statistics.cpp - src/pal_statistics_macros.cpp src/registration_list.cpp) -if(WIN32) - target_link_libraries(${PROJECT_NAME} - Boost::boost + list(APPEND DEPENDENCIES + Boost + ) + list(APPEND TARGET_DEPENDENCIES + Boost::boost ) endif() +add_library(${PROJECT_NAME} SHARED + src/pal_statistics_utils.cpp src/pal_statistics.cpp + src/pal_statistics_macros.cpp src/registration_list.cpp) + +add_library(${PROJECT_NAME}::${PROJECT_NAME} ALIAS ${PROJECT_NAME}) +target_include_directories(${PROJECT_NAME} PUBLIC + $ + $) + +target_link_libraries(${PROJECT_NAME} PUBLIC + ${TARGET_DEPENDENCIES} +) + + # ############################################################################## # Testing ## # ############################################################################## @@ -48,10 +75,32 @@ endif() # Install Python modules ament_python_install_package(${PROJECT_NAME}) -ament_export_dependencies(Boost) +install( + DIRECTORY include/ + DESTINATION include/${PROJECT_NAME} +) +install( + TARGETS ${PROJECT_NAME} + EXPORT export_${PROJECT_NAME} + ARCHIVE DESTINATION lib + LIBRARY DESTINATION lib + RUNTIME DESTINATION bin +) -if(ament_cmake_auto_VERSION VERSION_LESS "2.6.0") - ament_auto_package(USE_SCOPED_HEADER_INSTALL_DIR) -else() - ament_auto_package() -endif() +ament_export_include_directories( + "include/${PROJECT_NAME}" +) + +ament_export_libraries( + ${PROJECT_NAME} +) + +ament_export_targets( + export_${PROJECT_NAME} +) + +ament_export_dependencies( + ${DEPENDENCIES} +) + +ament_package()