diff options
author | Haibo Huang <hhb@google.com> | 2020-08-03 18:43:26 -0700 |
---|---|---|
committer | Haibo Huang <hhb@google.com> | 2020-08-03 18:45:53 -0700 |
commit | 39101902db4b5a188fe464a65a537498cf16c783 (patch) | |
tree | fea6ab21867fdf149ba62f1de868c35eada6b504 /share/cmake-3.18/Modules/Platform/Android-Clang.cmake | |
parent | 0a604d875f3b623c786e4a7dc3eb0abc8940b4d7 (diff) | |
download | darwin-x86-39101902db4b5a188fe464a65a537498cf16c783.tar.gz |
Upgrade cmake prebuilt to 3.18.1 [Darwin]ndk-r22-beta1ndk-r22ndk-release-r22llvm-r399163b
Built at:
http://fusion/82f83f3a-9b62-4573-8934-c02475fc6689
Change-Id: I7b9e7a895cb9e13a0cf4ef8d45f6f81199f11ce6
Diffstat (limited to 'share/cmake-3.18/Modules/Platform/Android-Clang.cmake')
-rw-r--r-- | share/cmake-3.18/Modules/Platform/Android-Clang.cmake | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/share/cmake-3.18/Modules/Platform/Android-Clang.cmake b/share/cmake-3.18/Modules/Platform/Android-Clang.cmake new file mode 100644 index 0000000..759448b --- /dev/null +++ b/share/cmake-3.18/Modules/Platform/Android-Clang.cmake @@ -0,0 +1,56 @@ +# Distributed under the OSI-approved BSD 3-Clause License. See accompanying +# file Copyright.txt or https://cmake.org/licensing for details. + +# This module is shared by multiple languages; use include blocker. +if(__ANDROID_COMPILER_CLANG) + return() +endif() +set(__ANDROID_COMPILER_CLANG 1) + +# Support for NVIDIA Nsight Tegra Visual Studio Edition was previously +# implemented in the CMake VS IDE generators. Avoid interfering with +# that functionality for now. Later we may try to integrate this. +if(CMAKE_VS_PLATFORM_NAME STREQUAL "Tegra-Android") + macro(__android_compiler_clang lang) + endmacro() + return() +endif() + +# Commonly used Android toolchain files that pre-date CMake upstream support +# set CMAKE_SYSTEM_VERSION to 1. Avoid interfering with them. +if(CMAKE_SYSTEM_VERSION EQUAL 1) + macro(__android_compiler_clang lang) + endmacro() + return() +endif() + +# Natively compiling on an Android host doesn't use the NDK cross-compilation +# tools. +if(CMAKE_HOST_SYSTEM_NAME STREQUAL "Android") + macro(__android_compiler_clang lang) + endmacro() + return() +endif() + +include(Platform/Android-Common) + +# The NDK toolchain configuration files at: +# +# <ndk>/[build/core/]toolchains/*-clang*/setup.mk +# +# contain logic to set LLVM_TRIPLE for Clang-based toolchains for each target. +# We need to produce the same target here to produce compatible binaries. +include(Platform/Android/abi-${CMAKE_ANDROID_ARCH_ABI}-Clang) + +macro(__android_compiler_clang lang) + if(NOT "x${lang}" STREQUAL "xASM") + __android_compiler_common(${lang}) + endif() + if(NOT CMAKE_${lang}_COMPILER_TARGET) + set(CMAKE_${lang}_COMPILER_TARGET "${_ANDROID_ABI_CLANG_TARGET}") + if(CMAKE_ANDROID_NDK_TOOLCHAIN_UNIFIED) + string(APPEND CMAKE_${lang}_COMPILER_TARGET "${CMAKE_SYSTEM_VERSION}") + endif() + list(APPEND CMAKE_${lang}_COMPILER_PREDEFINES_COMMAND "--target=${CMAKE_${lang}_COMPILER_TARGET}") + endif() +endmacro() |