From b21ba90f8217e884849d80363c98fc7e93248a54 Mon Sep 17 00:00:00 2001 From: mini-1235 Date: Sun, 19 Apr 2026 15:44:19 +0000 Subject: [PATCH 1/2] Deprecate rcpputils::endian Signed-off-by: mini-1235 --- CMakeLists.txt | 13 ++----------- include/rcpputils/endian.hpp | 6 ++++++ 2 files changed, 8 insertions(+), 11 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index e6b23bb0..bffef4d1 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -6,16 +6,7 @@ find_package(ament_cmake REQUIRED) find_package(ament_cmake_ros_core REQUIRED) find_package(rcutils REQUIRED) -# Default to C11 -if(NOT CMAKE_C_STANDARD) - set(CMAKE_C_STANDARD 11) -endif() -# TODO (ahcorde): Remove tl_expected when CXX 20 standard is available -# Default to C++17 -if(NOT CMAKE_CXX_STANDARD) - set(CMAKE_CXX_STANDARD 17) -endif() - +# TODO (ahcorde): Remove tl_expected when CXX 23 standard is available if(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES "Clang") # enables building a static library but later link it into a dynamic library add_compile_options(-fPIC) @@ -39,7 +30,7 @@ if(WIN32) target_compile_definitions(${PROJECT_NAME} PRIVATE "RCPPUTILS_BUILDING_LIBRARY") endif() -target_link_libraries(${PROJECT_NAME} PUBLIC rcutils::rcutils) +target_link_libraries(${PROJECT_NAME} PUBLIC rcutils::rcutils ament_cmake_ros_core::ament_ros_defaults) # Export old-style CMake variables ament_export_include_directories("include/${PROJECT_NAME}") diff --git a/include/rcpputils/endian.hpp b/include/rcpputils/endian.hpp index 8017a2af..81e9f573 100644 --- a/include/rcpputils/endian.hpp +++ b/include/rcpputils/endian.hpp @@ -24,6 +24,12 @@ #ifndef RCPPUTILS__ENDIAN_HPP_ #define RCPPUTILS__ENDIAN_HPP_ +#if defined(_MSC_VER) + #pragma message("WARNING: rcpputils/endian.hpp is deprecated. Use std::endian from header instead.") +#else + #warning WARNING: rcpputils/endian.hpp is deprecated. Use std::endian from header instead. +#endif + // TODO(anyone) replace this macro when the appropriate C++20 value lands. #if !defined(RCPPUTILS_NO_STD_ENDIAN) && (__cplusplus <= 201703L) #define RCPPUTILS_NO_STD_ENDIAN From 4d549539fc8fad594682b1220bd355e027e9899d Mon Sep 17 00:00:00 2001 From: mini-1235 Date: Thu, 7 May 2026 11:09:09 +0000 Subject: [PATCH 2/2] Lint Signed-off-by: mini-1235 --- include/rcpputils/endian.hpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/include/rcpputils/endian.hpp b/include/rcpputils/endian.hpp index 81e9f573..c1fad0a9 100644 --- a/include/rcpputils/endian.hpp +++ b/include/rcpputils/endian.hpp @@ -25,7 +25,8 @@ #define RCPPUTILS__ENDIAN_HPP_ #if defined(_MSC_VER) - #pragma message("WARNING: rcpputils/endian.hpp is deprecated. Use std::endian from header instead.") + #pragma \ + message("WARNING: rcpputils/endian.hpp is deprecated. Use std::endian from header instead.") #else #warning WARNING: rcpputils/endian.hpp is deprecated. Use std::endian from header instead. #endif