Skip to content

Commit f503ee4

Browse files
authored
Merge pull request #433 from ANYbotics/mergify/bp/iron/pr-404
grid_map_core: Use ament_export_targets and improve eigen linkage (backport #404)
2 parents 54b5b43 + 4d7f56e commit f503ee4

File tree

2 files changed

+23
-24
lines changed

2 files changed

+23
-24
lines changed

grid_map_core/CMakeLists.txt

Lines changed: 15 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -9,24 +9,10 @@ find_package(grid_map_cmake_helpers REQUIRED)
99
include(cmake/${PROJECT_NAME}-extras.cmake)
1010

1111
## System dependencies are found with CMake's conventions
12-
#find_package(Eigen3 REQUIRED)
13-
# Solution to find Eigen3 with Saucy.
14-
find_package(Eigen3 QUIET)
15-
if(NOT EIGEN3_FOUND)
16-
find_package(PkgConfig REQUIRED)
17-
pkg_check_modules(EIGEN3 REQUIRED eigen3)
18-
set(EIGEN3_INCLUDE_DIR ${EIGEN3_INCLUDE_DIRS})
19-
endif()
12+
find_package(Eigen3 REQUIRED)
2013

2114
grid_map_package()
2215

23-
## Specify additional locations of header files
24-
include_directories(
25-
include
26-
SYSTEM
27-
${EIGEN3_INCLUDE_DIR}
28-
)
29-
3016
###########
3117
## Build ##
3218
###########
@@ -49,21 +35,31 @@ add_library(${PROJECT_NAME}
4935
src/iterators/SlidingWindowIterator.cpp
5036
)
5137

38+
## Specify additional locations of header files
39+
target_include_directories(${PROJECT_NAME}
40+
PUBLIC
41+
"$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>"
42+
"$<INSTALL_INTERFACE:include/${PROJECT_NAME}>"
43+
)
44+
45+
target_link_libraries(${PROJECT_NAME} PUBLIC Eigen3::Eigen)
46+
5247
#############
5348
## Install ##
5449
#############
5550

5651
# Mark executables and/or libraries for installation
5752
install(
5853
TARGETS ${PROJECT_NAME}
59-
ARCHIVE DESTINATION lib
54+
EXPORT export_${PROJECT_NAME}
6055
LIBRARY DESTINATION lib
56+
ARCHIVE DESTINATION lib
6157
RUNTIME DESTINATION lib/${PROJECT_NAME}
6258
)
6359

6460
# Mark cpp header files for installation
6561
install(
66-
DIRECTORY include/${PROJECT_NAME}/
62+
DIRECTORY include/
6763
DESTINATION include/${PROJECT_NAME}
6864
FILES_MATCHING PATTERN "*.hpp"
6965
)
@@ -129,10 +125,8 @@ if(TARGET ${PROJECT_NAME}-test)
129125
target_link_libraries(${PROJECT_NAME}-test ${PROJECT_NAME})
130126
endif()
131127

132-
ament_export_include_directories(include ${EIGEN3_INCLUDE_DIR})
133-
ament_export_libraries(
134-
${PROJECT_NAME}
135-
)
128+
ament_export_targets(export_${PROJECT_NAME} HAS_LIBRARY_TARGET)
129+
ament_export_dependencies(Eigen3)
136130
ament_package(CONFIG_EXTRAS
137131
cmake/${PROJECT_NAME}-extras.cmake
138132
)

grid_map_cv/CMakeLists.txt

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ find_package(sensor_msgs REQUIRED)
1313

1414
find_package(OpenCV REQUIRED
1515
COMPONENTS
16-
opencv_photo
16+
photo
1717
)
1818

1919
grid_map_package()
@@ -43,8 +43,13 @@ add_library(${PROJECT_NAME} SHARED
4343
src/InpaintFilter.cpp
4444
)
4545

46-
ament_target_dependencies(${PROJECT_NAME} SYSTEM
47-
${dependencies}
46+
target_link_libraries(${PROJECT_NAME} PUBLIC
47+
cv_bridge::cv_bridge
48+
grid_map_core::grid_map_core
49+
opencv_photo
50+
pluginlib::pluginlib
51+
rclcpp::rclcpp
52+
${sensor_msgs_TARGETS}
4853
)
4954

5055
#############

0 commit comments

Comments
 (0)