@@ -5,6 +5,7 @@ project(rclcpp)
55find_package (Threads REQUIRED )
66
77find_package (ament_cmake_ros REQUIRED )
8+ find_package (ament_cmake_ros_core REQUIRED )
89find_package (ament_index_cpp REQUIRED )
910find_package (builtin_interfaces REQUIRED )
1011find_package (libstatistics_collector REQUIRED )
@@ -24,12 +25,6 @@ find_package(rosidl_typesupport_cpp REQUIRED)
2425find_package (statistics_msgs REQUIRED )
2526find_package (tracetools REQUIRED )
2627
27- # TODO(wjwwood): remove this when gtest can build on its own, when using target_compile_features()
28- # Default to C++17
29- if (NOT CMAKE_CXX_STANDARD )
30- set (CMAKE_CXX_STANDARD 17)
31- set (CMAKE_CXX_STANDARD_REQUIRED ON )
32- endif ()
3328if (CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES "Clang" )
3429 # About -Wno-sign-conversion: With Clang, -Wconversion implies -Wsign-conversion. There are a number of
3530 # implicit sign conversions in rclcpp and gtest.cc, see https://ci.ros2.org/job/ci_osx/9265/.
@@ -193,7 +188,6 @@ foreach(interface_file ${interface_files})
193188endforeach ()
194189
195190add_library (${PROJECT_NAME} ${${PROJECT_NAME}_SRCS} )
196- target_compile_features (${PROJECT_NAME} PUBLIC cxx_std_17 )
197191# TODO(wjwwood): address all deprecation warnings and then remove this
198192if (WIN32 )
199193 target_compile_definitions (${PROJECT_NAME} PUBLIC "_SILENCE_ALL_CXX17_DEPRECATION_WARNINGS" )
@@ -219,6 +213,9 @@ target_link_libraries(${PROJECT_NAME} PUBLIC
219213 statistics_msgs::statistics_msgs
220214 tracetools::tracetools
221215 ${CMAKE_THREAD_LIBS_INIT}
216+ # Note we link public on purpose, as we want to export
217+ # the used C++ version as minimum to all consuming packages
218+ ament_cmake_ros_core::ament_ros_defaults
222219)
223220
224221target_link_libraries (${PROJECT_NAME} PRIVATE
0 commit comments