Fix CXX and C standard reporting in CMake < 3.1

This commit is contained in:
Carles Fernandez 2020-06-17 13:31:02 +02:00
parent 7307e82d48
commit bafeb2aed0
No known key found for this signature in database
GPG Key ID: 4C583C52B0C3877D
1 changed files with 7 additions and 0 deletions

View File

@ -407,25 +407,32 @@ if(NOT (CMAKE_VERSION VERSION_LESS "3.1"))
set(CMAKE_CXX_EXTENSIONS OFF)
else()
add_compile_options("$<$<STREQUAL:$<TARGET_PROPERTY:LINKER_LANGUAGE>,C>:-std=gnu11>")
set(CMAKE_C_STANDARD 11) # set variable just for reporting
if((CMAKE_CXX_COMPILER_ID STREQUAL "GNU") AND NOT WIN32)
if(CMAKE_CXX_COMPILER_VERSION VERSION_LESS "6.1.1")
add_compile_options("$<$<STREQUAL:$<TARGET_PROPERTY:LINKER_LANGUAGE>,CXX>:-std=c++11>")
set(CMAKE_CXX_STANDARD 11) # set variable just for reporting
else()
add_compile_options("$<$<STREQUAL:$<TARGET_PROPERTY:LINKER_LANGUAGE>,CXX>:-std=c++14>")
set(CMAKE_CXX_STANDARD 14) # set variable just for reporting
endif()
endif()
if(CMAKE_CXX_COMPILER_ID MATCHES "Clang")
if(CMAKE_CXX_COMPILER_ID STREQUAL "AppleClang")
if(CLANG_VERSION VERSION_LESS "600")
add_compile_options("$<$<STREQUAL:$<TARGET_PROPERTY:LINKER_LANGUAGE>,CXX>:-std=c++11>")
set(CMAKE_CXX_STANDARD 11)
else()
add_compile_options("$<$<STREQUAL:$<TARGET_PROPERTY:LINKER_LANGUAGE>,CXX>:-std=c++14>")
set(CMAKE_CXX_STANDARD 14)
endif()
else()
if(CMAKE_CXX_COMPILER_VERSION VERSION_LESS "3.5.0")
add_compile_options("$<$<STREQUAL:$<TARGET_PROPERTY:LINKER_LANGUAGE>,CXX>:-std=c++11>")
set(CMAKE_CXX_STANDARD 11)
else()
add_compile_options("$<$<STREQUAL:$<TARGET_PROPERTY:LINKER_LANGUAGE>,CXX>:-std=c++14>")
set(CMAKE_CXX_STANDARD 14)
endif()
endif()
endif()