1
0
mirror of https://github.com/Kitware/CMake.git synced 2025-10-14 19:08:07 +08:00

Modules: Rename Internal/CMake{CheckCompiler => TryCompilerOrLinker}Flag

Rename the `CheckPIESupported` helper functions so that they
don't clobber other internal functions. Also rename them to
document they can't be unified with `CheckCompilerFlag`.

Fixes: #21497
This commit is contained in:
Robert Maynard
2020-11-25 10:45:12 -05:00
committed by Brad King
parent 9e83e77129
commit 72f6b4bfbe
3 changed files with 8 additions and 7 deletions

View File

@@ -62,7 +62,7 @@ Examples
#]=======================================================================] #]=======================================================================]
include (Internal/CMakeCheckCompilerFlag) include (Internal/CMakeTryCompilerOrLinkerFlag)
function (check_pie_supported) function (check_pie_supported)
cmake_policy(GET CMP0083 cmp0083) cmake_policy(GET CMP0083 cmp0083)
@@ -109,14 +109,16 @@ function (check_pie_supported)
foreach(lang IN LISTS CHECK_PIE_LANGUAGES) foreach(lang IN LISTS CHECK_PIE_LANGUAGES)
if(_CMAKE_${lang}_PIE_MAY_BE_SUPPORTED_BY_LINKER) if(_CMAKE_${lang}_PIE_MAY_BE_SUPPORTED_BY_LINKER)
cmake_check_compiler_flag(${lang} "${CMAKE_${lang}_LINK_OPTIONS_PIE}" cmake_try_compiler_or_linker_flag(${lang}
"${CMAKE_${lang}_LINK_OPTIONS_PIE}"
CMAKE_${lang}_LINK_PIE_SUPPORTED CMAKE_${lang}_LINK_PIE_SUPPORTED
OUTPUT_VARIABLE output) OUTPUT_VARIABLE output)
if (NOT CMAKE_${lang}_LINK_PIE_SUPPORTED) if (NOT CMAKE_${lang}_LINK_PIE_SUPPORTED)
string (APPEND outputs "PIE (${lang}): ${output}\n") string (APPEND outputs "PIE (${lang}): ${output}\n")
endif() endif()
cmake_check_compiler_flag(${lang} "${CMAKE_${lang}_LINK_OPTIONS_NO_PIE}" cmake_try_compiler_or_linker_flag(${lang}
"${CMAKE_${lang}_LINK_OPTIONS_NO_PIE}"
CMAKE_${lang}_LINK_NO_PIE_SUPPORTED CMAKE_${lang}_LINK_NO_PIE_SUPPORTED
OUTPUT_VARIABLE output) OUTPUT_VARIABLE output)
if (NOT CMAKE_${lang}_LINK_NO_PIE_SUPPORTED) if (NOT CMAKE_${lang}_LINK_NO_PIE_SUPPORTED)

View File

@@ -9,7 +9,6 @@ endif()
set(__COMPILER_GNU 1) set(__COMPILER_GNU 1)
include(Compiler/CMakeCommonCompilerMacros) include(Compiler/CMakeCommonCompilerMacros)
include(Internal/CMakeCheckCompilerFlag)
set(__pch_header_C "c-header") set(__pch_header_C "c-header")
set(__pch_header_CXX "c++-header") set(__pch_header_CXX "c++-header")

View File

@@ -6,13 +6,13 @@
NOTE: This function is used internally by CMake. Projects should not include NOTE: This function is used internally by CMake. Projects should not include
this file directly. this file directly.
The cmake_check_compiler_flag() function can be used to compile and link a The cmake_try_compiler_or_linker_flag() function can be used to compile and link a
source file to check whether a specific compiler or linker flag is supported. source file to check whether a specific compiler or linker flag is supported.
The function does not use the try_compile() command so as to avoid infinite The function does not use the try_compile() command so as to avoid infinite
recursion. It may not work for all platforms or toolchains, the caller is recursion. It may not work for all platforms or toolchains, the caller is
responsible for ensuring it is only called in valid situations. responsible for ensuring it is only called in valid situations.
cmake_check_compiler_flag(<lang> <flag> <result> cmake_try_compiler_or_linker_flag(<lang> <flag> <result>
[SRC_EXT <ext>] [COMMAND_PATTERN <pattern>] [SRC_EXT <ext>] [COMMAND_PATTERN <pattern>]
[FAIL_REGEX <regex> ...] [FAIL_REGEX <regex> ...]
[OUTPUT_VARIABLE <output>]) [OUTPUT_VARIABLE <output>])
@@ -39,7 +39,7 @@ Optional parameters:
include_guard(GLOBAL) include_guard(GLOBAL)
include(CMakeCheckCompilerFlagCommonPatterns) include(CMakeCheckCompilerFlagCommonPatterns)
function(CMAKE_CHECK_COMPILER_FLAG lang flag result) function(CMAKE_TRY_COMPILER_OR_LINKER_FLAG lang flag result)
# Cache results between runs similar to check_<lang>_source_compiles() # Cache results between runs similar to check_<lang>_source_compiles()
if(DEFINED ${result}) if(DEFINED ${result})
return() return()