forked from OSchip/llvm-project
[CMake] set -mmacosx-version-min to 10.7 if compiler-rt is built with -stdlib=libc++
llvm-svn: 174699
This commit is contained in:
parent
08bf4fd345
commit
5cb7860129
|
@ -101,6 +101,10 @@ else()
|
|||
set(COMPILER_RT_CAN_EXECUTE_TESTS FALSE)
|
||||
endif()
|
||||
|
||||
# Check if compiler-rt is built with libc++.
|
||||
find_flag_in_string("${CMAKE_CXX_FLAGS}" "-stdlib=libc++"
|
||||
COMPILER_RT_USES_LIBCXX)
|
||||
|
||||
function(filter_available_targets out_var)
|
||||
set(archs)
|
||||
foreach(arch ${ARGN})
|
||||
|
@ -140,8 +144,16 @@ check_cxx_compiler_flag(-Wno-c99-extensions SUPPORTS_NO_C99_EXTENSIONS_FLAG)
|
|||
if(SUPPORTS_NO_C99_EXTENSIONS_FLAG)
|
||||
list(APPEND SANITIZER_COMMON_CFLAGS -Wno-c99-extensions)
|
||||
endif()
|
||||
|
||||
# Setup min Mac OS X version.
|
||||
if(APPLE)
|
||||
list(APPEND SANITIZER_COMMON_CFLAGS -mmacosx-version-min=10.5)
|
||||
if(COMPILER_RT_USES_LIBCXX)
|
||||
set(SANITIZER_MIN_OSX_VERSION 10.7)
|
||||
else()
|
||||
set(SANITIZER_MIN_OSX_VERSION 10.5)
|
||||
endif()
|
||||
list(APPEND SANITIZER_COMMON_CFLAGS
|
||||
-mmacosx-version-min=${SANITIZER_MIN_OSX_VERSION})
|
||||
endif()
|
||||
|
||||
# Architectures supported by Sanitizer runtimes. Specific sanitizers may
|
||||
|
|
|
@ -15,3 +15,14 @@ function(set_target_link_flags target)
|
|||
set_property(TARGET ${target} PROPERTY LINK_FLAGS "${argstring}")
|
||||
endfunction()
|
||||
|
||||
# Check if a given flag is present in a space-separated flag_string.
|
||||
# Store the result in out_var.
|
||||
function(find_flag_in_string flag_string flag out_var)
|
||||
string(REPLACE " " ";" flag_list ${flag_string})
|
||||
list(FIND flag_list ${flag} flag_pos)
|
||||
if(NOT flag_pos EQUAL -1)
|
||||
set(${out_var} TRUE PARENT_SCOPE)
|
||||
else()
|
||||
set(${out_var} FALSE PARENT_SCOPE)
|
||||
endif()
|
||||
endfunction()
|
||||
|
|
Loading…
Reference in New Issue