@@ -36,15 +36,16 @@ find_package(GTest REQUIRED)
3636find_package (glog REQUIRED)
3737find_package (yaml-cpp REQUIRED)
3838# ROS 2
39- find_package (ament_cmake REQUIRED)
40- find_package (rclcpp REQUIRED)
41- find_package (rclcpp_components REQUIRED)
42- find_package (sensor_msgs REQUIRED)
43- find_package (std_msgs REQUIRED)
44- find_package (nav_msgs REQUIRED)
45-
46- set (node_plugins "" )
47-
39+ if (BUILD_ROS)
40+ find_package (ament_cmake REQUIRED)
41+ find_package (rclcpp REQUIRED)
42+ find_package (rclcpp_components REQUIRED)
43+ find_package (sensor_msgs REQUIRED)
44+ find_package (std_msgs REQUIRED)
45+ find_package (nav_msgs REQUIRED)
46+
47+ set (node_plugins "" )
48+ endif ()
4849# Include directories
4950include_directories (
5051 include
@@ -146,6 +147,60 @@ if (BUILD_ROS)
146147 )
147148
148149 ament_package()
150+ else ()
151+ message ("Configuring non-ROS installation" )
152+
153+ # Install the library
154+ install (TARGETS ${PROJECT_NAME}
155+ EXPORT ${PROJECT_NAME} Targets
156+ LIBRARY DESTINATION lib
157+ ARCHIVE DESTINATION lib
158+ RUNTIME DESTINATION bin
159+ INCLUDES DESTINATION include
160+ )
161+
162+ # Install headers
163+ install (DIRECTORY include /
164+ DESTINATION include
165+ )
166+
167+ # Install config files
168+ install (DIRECTORY config/
169+ DESTINATION share/${PROJECT_NAME} /config
170+ )
171+
172+ # Generate and install CMake config files
173+ include (CMakePackageConfigHelpers)
174+
175+ # Generate the config file that includes the exports
176+ configure_package_config_file(
177+ ${CMAKE_CURRENT_SOURCE_DIR} /cmake/${PROJECT_NAME} Config.cmake.in
178+ ${CMAKE_CURRENT_BINARY_DIR} /${PROJECT_NAME} Config.cmake
179+ INSTALL_DESTINATION lib/cmake/${PROJECT_NAME}
180+ NO_SET_AND_CHECK_MACRO
181+ NO_CHECK_REQUIRED_COMPONENTS_MACRO
182+ )
183+
184+ # Generate the version file
185+ write_basic_package_version_file(
186+ ${CMAKE_CURRENT_BINARY_DIR} /${PROJECT_NAME} ConfigVersion.cmake
187+ VERSION 1.0.0
188+ COMPATIBILITY AnyNewerVersion
189+ )
190+
191+ # Install the config files
192+ install (FILES
193+ ${CMAKE_CURRENT_BINARY_DIR} /${PROJECT_NAME} Config.cmake
194+ ${CMAKE_CURRENT_BINARY_DIR} /${PROJECT_NAME} ConfigVersion.cmake
195+ DESTINATION lib/cmake/${PROJECT_NAME}
196+ )
197+
198+ # Install the export set
199+ install (EXPORT ${PROJECT_NAME} Targets
200+ FILE ${PROJECT_NAME} Targets.cmake
201+ NAMESPACE ${PROJECT_NAME} ::
202+ DESTINATION lib/cmake/${PROJECT_NAME}
203+ )
149204endif ()
150205
151206# TESTS
0 commit comments