summaryrefslogtreecommitdiff
path: root/share/cmake-3.18/Modules/Platform/Android-Clang.cmake
diff options
context:
space:
mode:
authorHaibo Huang <hhb@google.com>2020-08-03 18:43:26 -0700
committerHaibo Huang <hhb@google.com>2020-08-03 18:45:53 -0700
commit39101902db4b5a188fe464a65a537498cf16c783 (patch)
treefea6ab21867fdf149ba62f1de868c35eada6b504 /share/cmake-3.18/Modules/Platform/Android-Clang.cmake
parent0a604d875f3b623c786e4a7dc3eb0abc8940b4d7 (diff)
downloaddarwin-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.cmake56
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()