Features: Fix GNU 4.4 and 4.5 C standard level flags
The C90 flags were only the "89" versions until GNU 4.5. The C11 flags were not introduced until GNU 4.6.
This commit is contained in:
parent
7f4154a4aa
commit
965a50dcea
|
@ -1,10 +1,15 @@
|
||||||
include(Compiler/GNU)
|
include(Compiler/GNU)
|
||||||
__compiler_gnu(C)
|
__compiler_gnu(C)
|
||||||
|
|
||||||
if (NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 4.4)
|
if (NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 4.5)
|
||||||
set(CMAKE_C90_STANDARD_COMPILE_OPTION "-std=c90")
|
set(CMAKE_C90_STANDARD_COMPILE_OPTION "-std=c90")
|
||||||
set(CMAKE_C90_EXTENSION_COMPILE_OPTION "-std=gnu90")
|
set(CMAKE_C90_EXTENSION_COMPILE_OPTION "-std=gnu90")
|
||||||
|
elseif (NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 4.4)
|
||||||
|
set(CMAKE_C90_STANDARD_COMPILE_OPTION "-std=c89")
|
||||||
|
set(CMAKE_C90_EXTENSION_COMPILE_OPTION "-std=gnu89")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if (NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 4.4)
|
||||||
set(CMAKE_C99_STANDARD_COMPILE_OPTION "-std=c99")
|
set(CMAKE_C99_STANDARD_COMPILE_OPTION "-std=c99")
|
||||||
set(CMAKE_C99_EXTENSION_COMPILE_OPTION "-std=gnu99")
|
set(CMAKE_C99_EXTENSION_COMPILE_OPTION "-std=gnu99")
|
||||||
endif()
|
endif()
|
||||||
|
@ -12,7 +17,7 @@ endif()
|
||||||
if (NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 4.7)
|
if (NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 4.7)
|
||||||
set(CMAKE_C11_STANDARD_COMPILE_OPTION "-std=c11")
|
set(CMAKE_C11_STANDARD_COMPILE_OPTION "-std=c11")
|
||||||
set(CMAKE_C11_EXTENSION_COMPILE_OPTION "-std=gnu11")
|
set(CMAKE_C11_EXTENSION_COMPILE_OPTION "-std=gnu11")
|
||||||
elseif (NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 4.4)
|
elseif (NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 4.6)
|
||||||
set(CMAKE_C11_STANDARD_COMPILE_OPTION "-std=c1x")
|
set(CMAKE_C11_STANDARD_COMPILE_OPTION "-std=c1x")
|
||||||
set(CMAKE_C11_EXTENSION_COMPILE_OPTION "-std=gnu1x")
|
set(CMAKE_C11_EXTENSION_COMPILE_OPTION "-std=gnu1x")
|
||||||
endif()
|
endif()
|
||||||
|
@ -29,8 +34,10 @@ macro(cmake_record_c_compile_features)
|
||||||
endmacro()
|
endmacro()
|
||||||
|
|
||||||
set(_result 0)
|
set(_result 0)
|
||||||
if (UNIX AND NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 4.4)
|
if (UNIX AND NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 4.6)
|
||||||
_get_gcc_features(${CMAKE_C11_STANDARD_COMPILE_OPTION} CMAKE_C11_COMPILE_FEATURES)
|
_get_gcc_features(${CMAKE_C11_STANDARD_COMPILE_OPTION} CMAKE_C11_COMPILE_FEATURES)
|
||||||
|
endif()
|
||||||
|
if (UNIX AND NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 4.4)
|
||||||
if (_result EQUAL 0)
|
if (_result EQUAL 0)
|
||||||
_get_gcc_features(${CMAKE_C99_STANDARD_COMPILE_OPTION} CMAKE_C99_COMPILE_FEATURES)
|
_get_gcc_features(${CMAKE_C99_STANDARD_COMPILE_OPTION} CMAKE_C99_COMPILE_FEATURES)
|
||||||
endif()
|
endif()
|
||||||
|
|
Loading…
Reference in New Issue