1# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
2# file Copyright.txt or https://cmake.org/licensing for details.
3
4
5# This module is shared by multiple languages; use include blocker.
6include_guard()
7
8macro(__apple_compiler_clang lang)
9  set(CMAKE_${lang}_VERBOSE_FLAG "-v -Wl,-v") # also tell linker to print verbose output
10  set(CMAKE_SHARED_LIBRARY_CREATE_${lang}_FLAGS "-dynamiclib -Wl,-headerpad_max_install_names")
11  set(CMAKE_SHARED_MODULE_CREATE_${lang}_FLAGS "-bundle -Wl,-headerpad_max_install_names")
12  set(CMAKE_${lang}_SYSROOT_FLAG "-isysroot")
13  set(CMAKE_${lang}_OSX_DEPLOYMENT_TARGET_FLAG "-mmacosx-version-min=")
14  if(NOT CMAKE_${lang}_COMPILER_VERSION VERSION_LESS 3.2)
15    set(CMAKE_${lang}_SYSTEM_FRAMEWORK_SEARCH_FLAG "-iframework ")
16  endif()
17  if(_CMAKE_OSX_SYSROOT_PATH MATCHES "/iPhoneOS")
18    set(CMAKE_${lang}_OSX_DEPLOYMENT_TARGET_FLAG "-miphoneos-version-min=")
19  elseif(_CMAKE_OSX_SYSROOT_PATH MATCHES "/iPhoneSimulator")
20    set(CMAKE_${lang}_OSX_DEPLOYMENT_TARGET_FLAG "-mios-simulator-version-min=")
21  elseif(_CMAKE_OSX_SYSROOT_PATH MATCHES "/AppleTVOS")
22    set(CMAKE_${lang}_OSX_DEPLOYMENT_TARGET_FLAG "-mtvos-version-min=")
23  elseif(_CMAKE_OSX_SYSROOT_PATH MATCHES "/AppleTVSimulator")
24    set(CMAKE_${lang}_OSX_DEPLOYMENT_TARGET_FLAG "-mtvos-simulator-version-min=")
25  elseif(_CMAKE_OSX_SYSROOT_PATH MATCHES "/WatchOS")
26    set(CMAKE_${lang}_OSX_DEPLOYMENT_TARGET_FLAG "-mwatchos-version-min=")
27  elseif(_CMAKE_OSX_SYSROOT_PATH MATCHES "/WatchSimulator")
28    set(CMAKE_${lang}_OSX_DEPLOYMENT_TARGET_FLAG "-mwatchos-simulator-version-min=")
29  else()
30    set(CMAKE_${lang}_OSX_DEPLOYMENT_TARGET_FLAG "-mmacosx-version-min=")
31  endif()
32endmacro()
33