diff --git a/CMake/lrs_macros.cmake b/CMake/lrs_macros.cmake index b19a729049..cabb376c97 100644 --- a/CMake/lrs_macros.cmake +++ b/CMake/lrs_macros.cmake @@ -7,21 +7,10 @@ macro(infoValue variableName) endmacro() macro(config_cxx_flags) - include(CheckCXXCompilerFlag) - if(MSVC OR MSVC_IDE) - check_cxx_compiler_flag(/std:c++14 SUPPORTS_CXX14) - else() - check_cxx_compiler_flag(-std=c++14 SUPPORTS_CXX14) - endif() - if( NOT SUPPORTS_CXX14 ) - message(FATAL_ERROR "Project '${PROJECT_NAME}' requires C++14 or higher") - endif() - if( NOT CMAKE_CXX_STANDARD ) - set( CMAKE_CXX_STANDARD 14 ) - endif() # We require that the current project (e.g., librealsense) use C++14. However, projects using # the library don't need to be C++14 -- they can use C++11. Hence this is PRIVATE and not PUBLIC: - target_compile_features( ${PROJECT_NAME} PRIVATE cxx_std_${CMAKE_CXX_STANDARD} ) + target_compile_features( ${PROJECT_NAME} PRIVATE cxx_std_14 ) + target_compile_features( ${PROJECT_NAME} INTERFACE cxx_std_11 ) #set( CMAKE_CUDA_STANDARD ${LRS_CXX_STANDARD} ) endmacro() diff --git a/third-party/realsense-file/CMakeLists.txt b/third-party/realsense-file/CMakeLists.txt index a805cddf8c..63c3526b1d 100644 --- a/third-party/realsense-file/CMakeLists.txt +++ b/third-party/realsense-file/CMakeLists.txt @@ -27,6 +27,8 @@ add_library(${PROJECT_NAME} STATIC ${SOURCE_FILES_COMPRESSION} ) +target_compile_features(${PROJECT_NAME} PUBLIC cxx_std_11) + target_include_directories(${PROJECT_NAME} PRIVATE ${ROSBAG_HEADER_DIRS} ${LZ4_INCLUDE_PATH} diff --git a/third-party/rsutils/CMakeLists.txt b/third-party/rsutils/CMakeLists.txt index c72a912e39..b0fc310497 100644 --- a/third-party/rsutils/CMakeLists.txt +++ b/third-party/rsutils/CMakeLists.txt @@ -6,6 +6,7 @@ project( rsutils ) add_library( ${PROJECT_NAME} STATIC "" ) # We cannot directly interface with nlohmann_json (doesn't work on bionic) #target_link_libraries( ${PROJECT_NAME} PUBLIC nlohmann_json ) +target_compile_features( ${PROJECT_NAME} PUBLIC cxx_std_14 ) set_target_properties( ${PROJECT_NAME} PROPERTIES FOLDER Library ) target_include_directories( ${PROJECT_NAME}