Project: Don't require computed default dialect if compiler was forced.
Commit 7235334a (Project: Determine default language dialect for the compiler., 2015-09-15) introduced a mechanism to determine the default dialect used for the running compiler. If conditions in the <CompilerId>-<Lang>.cmake file are such that compile features for that version of the compiler should be supported, the _DEFAULT_STANDARD is set to the computed value. However, the CMakeForceCompiler module allows users to bypass execution of the compiler by CMake. In that case, do not set the _DEFAULT_STANDARD variable at all, which effectively disables the compile-features where the module is used. No compile features have ever been recorded where the module is used so no functionality is lost.
This commit is contained in:
parent
442d17ef6c
commit
d13758514c
@ -13,11 +13,13 @@ if(NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 4.0)
|
||||
endif()
|
||||
|
||||
if(NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 4.0)
|
||||
if (NOT CMAKE_C_COMPILER_FORCED)
|
||||
if (NOT CMAKE_C_STANDARD_COMPUTED_DEFAULT)
|
||||
message(FATAL_ERROR "CMAKE_C_STANDARD_COMPUTED_DEFAULT should be set for ${CMAKE_C_COMPILER_ID} (${CMAKE_C_COMPILER}) version ${CMAKE_C_COMPILER_VERSION}")
|
||||
endif()
|
||||
set(CMAKE_C_STANDARD_DEFAULT ${CMAKE_C_STANDARD_COMPUTED_DEFAULT})
|
||||
endif()
|
||||
endif()
|
||||
|
||||
macro(cmake_record_c_compile_features)
|
||||
macro(_get_appleclang_features std_version list)
|
||||
|
@ -23,11 +23,13 @@ elseif(NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 5.1)
|
||||
endif()
|
||||
|
||||
if(NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 4.0)
|
||||
if (NOT CMAKE_CXX_COMPILER_FORCED)
|
||||
if (NOT CMAKE_CXX_STANDARD_COMPUTED_DEFAULT)
|
||||
message(FATAL_ERROR "CMAKE_CXX_STANDARD_COMPUTED_DEFAULT should be set for ${CMAKE_CXX_COMPILER_ID} (${CMAKE_CXX_COMPILER}) version ${CMAKE_CXX_COMPILER_VERSION}")
|
||||
endif()
|
||||
set(CMAKE_CXX_STANDARD_DEFAULT ${CMAKE_CXX_STANDARD_COMPUTED_DEFAULT})
|
||||
endif()
|
||||
endif()
|
||||
|
||||
|
||||
macro(cmake_record_cxx_compile_features)
|
||||
|
@ -18,11 +18,13 @@ if(NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 3.4)
|
||||
endif()
|
||||
|
||||
if(NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 3.4)
|
||||
if (NOT CMAKE_C_COMPILER_FORCED)
|
||||
if (NOT CMAKE_C_STANDARD_COMPUTED_DEFAULT)
|
||||
message(FATAL_ERROR "CMAKE_C_STANDARD_COMPUTED_DEFAULT should be set for ${CMAKE_C_COMPILER_ID} (${CMAKE_C_COMPILER}) version ${CMAKE_C_COMPILER_VERSION}")
|
||||
endif()
|
||||
set(CMAKE_C_STANDARD_DEFAULT ${CMAKE_C_STANDARD_COMPUTED_DEFAULT})
|
||||
endif()
|
||||
endif()
|
||||
|
||||
macro(cmake_record_c_compile_features)
|
||||
macro(_get_clang_features std_version list)
|
||||
|
@ -32,11 +32,13 @@ elseif(NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 3.4)
|
||||
endif()
|
||||
|
||||
if(NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 3.4)
|
||||
if (NOT CMAKE_CXX_COMPILER_FORCED)
|
||||
if (NOT CMAKE_CXX_STANDARD_COMPUTED_DEFAULT)
|
||||
message(FATAL_ERROR "CMAKE_CXX_STANDARD_COMPUTED_DEFAULT should be set for ${CMAKE_CXX_COMPILER_ID} (${CMAKE_CXX_COMPILER}) version ${CMAKE_CXX_COMPILER_VERSION}")
|
||||
endif()
|
||||
set(CMAKE_CXX_STANDARD_DEFAULT ${CMAKE_CXX_STANDARD_COMPUTED_DEFAULT})
|
||||
endif()
|
||||
endif()
|
||||
|
||||
macro(cmake_record_cxx_compile_features)
|
||||
macro(_get_clang_features std_version list)
|
||||
|
@ -23,11 +23,13 @@ elseif (NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 4.6)
|
||||
endif()
|
||||
|
||||
if(NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 4.4)
|
||||
if (NOT CMAKE_C_COMPILER_FORCED)
|
||||
if (NOT CMAKE_C_STANDARD_COMPUTED_DEFAULT)
|
||||
message(FATAL_ERROR "CMAKE_C_STANDARD_COMPUTED_DEFAULT should be set for ${CMAKE_C_COMPILER_ID} (${CMAKE_C_COMPILER}) version ${CMAKE_C_COMPILER_VERSION}")
|
||||
endif()
|
||||
set(CMAKE_C_STANDARD_DEFAULT ${CMAKE_C_STANDARD_COMPUTED_DEFAULT})
|
||||
endif()
|
||||
endif()
|
||||
|
||||
|
||||
macro(cmake_record_c_compile_features)
|
||||
|
@ -35,11 +35,13 @@ elseif (NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 4.8)
|
||||
endif()
|
||||
|
||||
if(NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 4.4)
|
||||
if (NOT CMAKE_CXX_COMPILER_FORCED)
|
||||
if (NOT CMAKE_CXX_STANDARD_COMPUTED_DEFAULT)
|
||||
message(FATAL_ERROR "CMAKE_CXX_STANDARD_COMPUTED_DEFAULT should be set for ${CMAKE_CXX_COMPILER_ID} (${CMAKE_CXX_COMPILER}) version ${CMAKE_CXX_COMPILER_VERSION}")
|
||||
endif()
|
||||
set(CMAKE_CXX_STANDARD_DEFAULT ${CMAKE_CXX_STANDARD_COMPUTED_DEFAULT})
|
||||
endif()
|
||||
endif()
|
||||
|
||||
macro(cmake_record_cxx_compile_features)
|
||||
macro(_get_gcc_features std_version list)
|
||||
|
@ -37,11 +37,13 @@ if (NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 5.13)
|
||||
endif()
|
||||
|
||||
if(NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 5.13)
|
||||
if (NOT CMAKE_CXX_COMPILER_FORCED)
|
||||
if (NOT CMAKE_CXX_STANDARD_COMPUTED_DEFAULT)
|
||||
message(FATAL_ERROR "CMAKE_CXX_STANDARD_COMPUTED_DEFAULT should be set for ${CMAKE_CXX_COMPILER_ID} (${CMAKE_CXX_COMPILER}) version ${CMAKE_CXX_COMPILER_VERSION}")
|
||||
endif()
|
||||
set(CMAKE_CXX_STANDARD_DEFAULT ${CMAKE_CXX_STANDARD_COMPUTED_DEFAULT})
|
||||
endif()
|
||||
endif()
|
||||
|
||||
macro(cmake_record_cxx_compile_features)
|
||||
macro(_get_solaris_studio_features std_version list)
|
||||
|
Loading…
x
Reference in New Issue
Block a user