Features: Ensure appropriate return value from feature test macros.

GNU-CXX already has complex logic and sets the _result to 0 before
tests which may set it to something else.

Change the other modules to be consistent with that.
This commit is contained in:
Stephen Kelly 2015-01-12 21:43:48 +01:00
parent 06ff525492
commit a60027a642
6 changed files with 5 additions and 12 deletions

View File

@ -19,6 +19,7 @@ macro(cmake_record_c_compile_features)
record_compiler_features(C "${std_version}" ${list})
endmacro()
set(_result 0)
if (UNIX AND NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 4.0)
_get_appleclang_features(${CMAKE_C11_STANDARD_COMPILE_OPTION} CMAKE_C11_COMPILE_FEATURES)
if (_result EQUAL 0)
@ -27,7 +28,5 @@ macro(cmake_record_c_compile_features)
if (_result EQUAL 0)
_get_appleclang_features(${CMAKE_C90_STANDARD_COMPILE_OPTION} CMAKE_C90_COMPILE_FEATURES)
endif()
else()
set(_result 0)
endif()
endmacro()

View File

@ -26,6 +26,7 @@ macro(cmake_record_cxx_compile_features)
record_compiler_features(CXX "${std_version}" ${list})
endmacro()
set(_result 0)
if (UNIX AND NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 4.0)
set(_result 0)
if(CMAKE_CXX14_STANDARD_COMPILE_OPTION)
@ -37,7 +38,5 @@ macro(cmake_record_cxx_compile_features)
if (_result EQUAL 0)
_get_appleclang_features(${CMAKE_CXX98_STANDARD_COMPILE_OPTION} CMAKE_CXX98_COMPILE_FEATURES)
endif()
else()
set(_result 0)
endif()
endmacro()

View File

@ -28,6 +28,7 @@ macro(cmake_record_c_compile_features)
record_compiler_features(C "${std_version}" ${list})
endmacro()
set(_result 0)
if (UNIX AND NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 3.4)
_get_clang_features(${CMAKE_C11_STANDARD_COMPILE_OPTION} CMAKE_C11_COMPILE_FEATURES)
if (_result EQUAL 0)
@ -36,7 +37,5 @@ macro(cmake_record_c_compile_features)
if (_result EQUAL 0)
_get_clang_features(${CMAKE_C90_STANDARD_COMPILE_OPTION} CMAKE_C90_COMPILE_FEATURES)
endif()
else()
set(_result 0)
endif()
endmacro()

View File

@ -38,6 +38,7 @@ macro(cmake_record_cxx_compile_features)
record_compiler_features(CXX "${std_version}" ${list})
endmacro()
set(_result 0)
if (UNIX AND NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 3.4)
_get_clang_features(${CMAKE_CXX14_STANDARD_COMPILE_OPTION} CMAKE_CXX14_COMPILE_FEATURES)
if (_result EQUAL 0)
@ -46,7 +47,5 @@ macro(cmake_record_cxx_compile_features)
if (_result EQUAL 0)
_get_clang_features(${CMAKE_CXX98_STANDARD_COMPILE_OPTION} CMAKE_CXX98_COMPILE_FEATURES)
endif()
else()
set(_result 0)
endif()
endmacro()

View File

@ -23,6 +23,7 @@ macro(cmake_record_c_compile_features)
record_compiler_features(C "${std_version}" ${list})
endmacro()
set(_result 0)
if (UNIX AND NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 4.7)
_get_gcc_features(${CMAKE_C11_STANDARD_COMPILE_OPTION} CMAKE_C11_COMPILE_FEATURES)
if (_result EQUAL 0)
@ -31,7 +32,5 @@ macro(cmake_record_c_compile_features)
if (_result EQUAL 0)
_get_gcc_features(${CMAKE_C90_STANDARD_COMPILE_OPTION} CMAKE_C90_COMPILE_FEATURES)
endif()
else()
set(_result 0)
endif()
endmacro()

View File

@ -49,7 +49,5 @@ macro(cmake_record_cxx_compile_features)
if (_result EQUAL 0)
_get_gcc_features(${CMAKE_CXX98_STANDARD_COMPILE_OPTION} CMAKE_CXX98_COMPILE_FEATURES)
endif()
else()
set(_result 0)
endif()
endmacro()