# Distributed under the OSI-approved BSD 3-Clause License. See accompanying # file Copyright.txt or https://cmake.org/licensing for details. include_guard(GLOBAL) include(Internal/CheckFlagCommonConfig) 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}) check_compiler_flag_common_patterns(_common_patterns) cmake_check_source_compiles(${_lang} "${_lang_src}" ${_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()