1 # Distributed under the OSI-approved BSD 3-Clause License. See accompanying
2 # file Copyright.txt or https://cmake.org/licensing for details.
5 include(CheckCXXSourceCompiles)
6 include(CMakeCheckCompilerFlagCommonPatterns)
8 function(check_cxx_linker_flag _flag _var)
9 if(CMAKE_VERSION VERSION_LESS "3.14")
10 set(CMAKE_REQUIRED_LIBRARIES "${_flag}")
12 set(CMAKE_REQUIRED_LINK_OPTIONS "${_flag}")
15 # Normalize locale during test compilation.
16 set(_locale_vars LC_ALL LC_MESSAGES LANG)
17 foreach(v IN LISTS _locale_vars)
18 set(_locale_vars_saved_${v} "$ENV{${v}}")
21 check_compiler_flag_common_patterns(_common_patterns)
22 check_cxx_source_compiles("int main() { return 0; }" ${_var}
25 foreach(v IN LISTS _locale_vars)
26 set(ENV{${v}} ${_locale_vars_saved_${v}})
28 set(${_var} "${${_var}}" PARENT_SCOPE)