Motivation
Im Rahmen meines Udacity Nanodegree Robotics Software Engineer musste ich mit C++17 arbeiten, da ROS Noetic Ninjemys Sprachfeature
von C++17 verwendet. Nun wollte ich wissen, wie ich die C++-Version in CMake setze.
Top Level Cmake-Datei
In der Top-Level CMake-Datei setze ich die C++-Version folgendermaßen:
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
Bei einigen Compilern wie dem clang unter macos bekommt ihr nicht automatisch alle neuen Sprachfeatures, ihr braucht dann noch das compiler flag -stdlib=libc++
set(CMAKE_CXX_STANDARD 20)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
if(CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
message(STATUS "Using Clang - setting -stdlib=libc++")
add_compile_options(-stdlib=libc++)
add_link_options(-stdlib=libc++)
endif()






