Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Use ament_export_targets in grid_map_costmap_2d #424

Merged
merged 3 commits into from
Feb 20, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
47 changes: 34 additions & 13 deletions grid_map_costmap_2d/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
cmake_minimum_required(VERSION 3.5)
cmake_minimum_required(VERSION 3.13)
project(grid_map_costmap_2d)

## Find ament_cmake macros and libraries
Expand All @@ -14,16 +14,6 @@ find_package(Eigen3 REQUIRED)

grid_map_package()

## Specify additional locations of header files
include_directories(
include
SYSTEM
${EIGEN3_INCLUDE_DIR}
${grid_map_core_INCLUDE_DIRS}
${nav2_costmap_2d_INCLUDE_DIRS}
${geometry_msgs_INCLUDE_DIRS}
)

set(dependencies
grid_map_core
geometry_msgs
Expand All @@ -32,13 +22,44 @@ set(dependencies
tf2_geometry_msgs
)

add_library(${PROJECT_NAME} INTERFACE
include/grid_map_costmap_2d/costmap_2d_converter.hpp
include/grid_map_costmap_2d/grid_map_costmap_2d.hpp
)

add_library(${PROJECT_NAME}::${PROJECT_NAME} ALIAS ${PROJECT_NAME})
wep21 marked this conversation as resolved.
Show resolved Hide resolved

target_link_libraries(${PROJECT_NAME}
INTERFACE
grid_map_core::grid_map_core
${geometry_msgs_TARGETS}
${tf2_geometry_msgs_TARGETS}
nav2_costmap_2d::nav2_costmap_2d_core
tf2_ros::tf2_ros
)

target_include_directories(${PROJECT_NAME}
INTERFACE
"$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>"
"$<INSTALL_INTERFACE:include/${PROJECT_NAME}>"
)

#############
## Install ##
#############

# Mark library for installation
install(
TARGETS ${PROJECT_NAME}
EXPORT export_${PROJECT_NAME}
LIBRARY DESTINATION lib
ARCHIVE DESTINATION lib
RUNTIME DESTINATION lib/${PROJECT_NAME}
)

# Mark cpp header files for installation
install(
DIRECTORY include/${PROJECT_NAME}/
DIRECTORY include/
DESTINATION include/${PROJECT_NAME}
FILES_MATCHING PATTERN "*.hpp"
)
Expand Down Expand Up @@ -77,6 +98,6 @@ if(BUILD_TESTING)
add_subdirectory(test)
endif()

ament_export_include_directories(include)
ament_export_targets(export_${PROJECT_NAME} HAS_LIBRARY_TARGET)
ament_export_dependencies(${dependencies})
ament_package()
9 changes: 5 additions & 4 deletions grid_map_costmap_2d/test/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -3,14 +3,15 @@ ament_add_gtest(${PROJECT_NAME}-test
test_costmap_2d_converter.cpp
)

ament_target_dependencies(${PROJECT_NAME}-test
${dependencies}
target_link_libraries(${PROJECT_NAME}-test
${PROJECT_NAME}::${PROJECT_NAME}
)

ament_add_gtest(costmap-2d-ros-test
test_costmap_2d_ros.cpp
)

ament_target_dependencies(costmap-2d-ros-test
${dependencies}
target_link_libraries(costmap-2d-ros-test
${PROJECT_NAME}::${PROJECT_NAME}
)