1- cmake_minimum_required (VERSION 3.5 )
1+ cmake_minimum_required (VERSION 3.13 )
22project (grid_map_costmap_2d)
33
44## Find ament_cmake macros and libraries
@@ -7,23 +7,14 @@ find_package(grid_map_cmake_helpers REQUIRED)
77find_package (grid_map_core REQUIRED)
88find_package (geometry_msgs REQUIRED)
99find_package (nav2_costmap_2d REQUIRED)
10+
1011find_package (tf2_ros REQUIRED)
1112find_package (tf2_geometry_msgs REQUIRED)
1213
1314find_package (Eigen3 REQUIRED)
1415
1516grid_map_package()
1617
17- ## Specify additional locations of header files
18- include_directories (
19- include
20- SYSTEM
21- ${EIGEN3_INCLUDE_DIR}
22- ${grid_map_core_INCLUDE_DIRS}
23- ${nav2_costmap_2d_INCLUDE_DIRS}
24- ${geometry_msgs_INCLUDE_DIRS}
25- )
26-
2718set (dependencies
2819 grid_map_core
2920 geometry_msgs
@@ -32,13 +23,44 @@ set(dependencies
3223 tf2_geometry_msgs
3324)
3425
26+ add_library (${PROJECT_NAME}
27+ include /grid_map_costmap_2d/costmap_2d_converter.hpp
28+ include /grid_map_costmap_2d/grid_map_costmap_2d.hpp
29+ )
30+
31+ add_library (${PROJECT_NAME} ::${PROJECT_NAME} ALIAS ${PROJECT_NAME} )
32+
33+ target_link_libraries (${PROJECT_NAME}
34+ PUBLIC
35+ grid_map_core::grid_map_core
36+ ${geometry_msgs_TARGETS}
37+ ${tf2_geometry_msgs_TARGETS}
38+ nav2_costmap_2d::nav2_costmap_2d_core
39+ tf2_ros::tf2_ros
40+ )
41+
42+ target_include_directories (${PROJECT_NAME}
43+ PUBLIC
44+ "$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR} /include>"
45+ "$<INSTALL_INTERFACE:include/${PROJECT_NAME} >"
46+ )
47+
3548#############
3649## Install ##
3750#############
3851
52+ # Mark library for installation
53+ install (
54+ TARGETS ${PROJECT_NAME}
55+ EXPORT export_${PROJECT_NAME}
56+ LIBRARY DESTINATION lib
57+ ARCHIVE DESTINATION lib
58+ RUNTIME DESTINATION lib/${PROJECT_NAME}
59+ )
60+
3961# Mark cpp header files for installation
4062install (
41- DIRECTORY include /${PROJECT_NAME} /
63+ DIRECTORY include /
4264 DESTINATION include /${PROJECT_NAME}
4365 FILES_MATCHING PATTERN "*.hpp"
4466)
@@ -77,6 +99,6 @@ if(BUILD_TESTING)
7799 add_subdirectory (test )
78100endif ()
79101
80- ament_export_include_directories( include )
102+ ament_export_targets(export_ ${PROJECT_NAME} HAS_LIBRARY_TARGET )
81103ament_export_dependencies(${dependencies} )
82104ament_package()
0 commit comments