From 5ab0f0bd54253ac7664312a0ea75a4e38073a0b6 Mon Sep 17 00:00:00 2001 From: Chris Lalancette Date: Fri, 10 Feb 2023 15:04:55 +0000 Subject: [PATCH] Update geometry2 to C++17 The main reason to do this is so that we can compile geometry2 with the clang static analyzer. As of clang++-14 (what is in Ubuntu 22.04), the default still seems to be C++14, so we need to specify C++17 so that new things in the rclcpp headers work properly. Further, due to reasons I don't fully understand, I needed to set CMAKE_CXX_STANDARD_REQUIRED in order for clang to really use that version. So set this as well. Signed-off-by: Chris Lalancette --- tf2/CMakeLists.txt | 5 +++-- tf2_eigen_kdl/CMakeLists.txt | 5 +++-- tf2_msgs/CMakeLists.txt | 5 +++-- tf2_py/CMakeLists.txt | 5 +++-- 4 files changed, 12 insertions(+), 8 deletions(-) diff --git a/tf2/CMakeLists.txt b/tf2/CMakeLists.txt index 6e8d654ee..203668884 100644 --- a/tf2/CMakeLists.txt +++ b/tf2/CMakeLists.txt @@ -1,9 +1,10 @@ cmake_minimum_required(VERSION 3.5) project(tf2) -# Default to C++14 +# Default to C++17 if(NOT CMAKE_CXX_STANDARD) - set(CMAKE_CXX_STANDARD 14) + set(CMAKE_CXX_STANDARD 17) + set(CMAKE_CXX_STANDARD_REQUIRED ON) endif() if(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES "Clang") diff --git a/tf2_eigen_kdl/CMakeLists.txt b/tf2_eigen_kdl/CMakeLists.txt index 9bdfa1d1f..c52a05910 100644 --- a/tf2_eigen_kdl/CMakeLists.txt +++ b/tf2_eigen_kdl/CMakeLists.txt @@ -1,9 +1,10 @@ cmake_minimum_required(VERSION 3.5) project(tf2_eigen_kdl) -# Default to C++14 +# Default to C++17 if(NOT CMAKE_CXX_STANDARD) - set(CMAKE_CXX_STANDARD 14) + set(CMAKE_CXX_STANDARD 17) + set(CMAKE_CXX_STANDARD_REQUIRED ON) endif() if(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES "Clang") add_compile_options(-Wall -Wextra -Wpedantic) diff --git a/tf2_msgs/CMakeLists.txt b/tf2_msgs/CMakeLists.txt index f8f424c03..2661fc85d 100644 --- a/tf2_msgs/CMakeLists.txt +++ b/tf2_msgs/CMakeLists.txt @@ -1,9 +1,10 @@ cmake_minimum_required(VERSION 3.5) project(tf2_msgs) -# Default to C++14 +# Default to C++17 if(NOT CMAKE_CXX_STANDARD) - set(CMAKE_CXX_STANDARD 14) + set(CMAKE_CXX_STANDARD 17) + set(CMAKE_CXX_STANDARD_REQUIRED ON) endif() if(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES "Clang") add_compile_options(-Wall -Wextra -Wpedantic -Wnon-virtual-dtor -Woverloaded-virtual) diff --git a/tf2_py/CMakeLists.txt b/tf2_py/CMakeLists.txt index c0e7b9a8c..a8e4e9ba8 100644 --- a/tf2_py/CMakeLists.txt +++ b/tf2_py/CMakeLists.txt @@ -1,9 +1,10 @@ cmake_minimum_required(VERSION 3.5) project(tf2_py) -# Default to C++14 +# Default to C++17 if(NOT CMAKE_CXX_STANDARD) - set(CMAKE_CXX_STANDARD 14) + set(CMAKE_CXX_STANDARD 17) + set(CMAKE_CXX_STANDARD_REQUIRED ON) endif() if(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES "Clang")