summaryrefslogtreecommitdiff
path: root/Modules/Internal/CheckCompilerFlag.cmake
diff options
context:
space:
mode:
authorMarc Chevrier <marc.chevrier@gmail.com>2022-01-16 15:36:23 +0100
committerMarc Chevrier <marc.chevrier@gmail.com>2022-01-19 10:49:23 +0100
commit4fa105d34ebc8f757f89cf81b746aae6f43605a1 (patch)
tree0ec82ec29f6780ad23c49232552aa06e97f5123c /Modules/Internal/CheckCompilerFlag.cmake
parent58804d1e58ff3aa6f3b473f8b4739ac7dc547e6a (diff)
downloadcmake-4fa105d34ebc8f757f89cf81b746aae6f43605a1.tar.gz
Check{Compiler,Linker}Flag: Add possibility to retrieve check outputs
Diffstat (limited to 'Modules/Internal/CheckCompilerFlag.cmake')
-rw-r--r--Modules/Internal/CheckCompilerFlag.cmake8
1 files changed, 8 insertions, 0 deletions
diff --git a/Modules/Internal/CheckCompilerFlag.cmake b/Modules/Internal/CheckCompilerFlag.cmake
index 3a67691b82..910f426f10 100644
--- a/Modules/Internal/CheckCompilerFlag.cmake
+++ b/Modules/Internal/CheckCompilerFlag.cmake
@@ -7,6 +7,9 @@ include(Internal/CheckSourceCompiles)
include(CMakeCheckCompilerFlagCommonPatterns)
function(CMAKE_CHECK_COMPILER_FLAG _lang _flag _var)
+ # Parse extra arguments
+ cmake_parse_arguments(PARSE_ARGV 3 CHECK_COMPILER_FLAG "" "OUTPUT_VARIABLE" "")
+
cmake_check_flag_common_init("check_compiler_flag" ${_lang} _lang_src _lang_fail_regex)
set(CMAKE_REQUIRED_DEFINITIONS ${_flag})
@@ -17,7 +20,12 @@ function(CMAKE_CHECK_COMPILER_FLAG _lang _flag _var)
${_var}
${_lang_fail_regex}
${_common_patterns}
+ OUTPUT_VARIABLE _output
)
+ if (CHECK_COMPILER_FLAG_OUTPUT_VARIABLE)
+ set(${CHECK_COMPILER_FLAG_OUTPUT_VARIABLE} "${_output}" PARENT_SCOPE)
+ endif()
+
cmake_check_flag_common_finish()
endfunction()