summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2016-08-23 17:08:53 (GMT)
committerBrad King <brad.king@kitware.com>2016-08-23 17:10:51 (GMT)
commit7b637ebdc97655462d08d8ff70bee5d4f32e4681 (patch)
tree037638b87540fc203610652d2d96c700b0fa306c
parentc2f561e58c799cc82df7db70710ae2f79b8b6b64 (diff)
downloadCMake-7b637ebdc97655462d08d8ff70bee5d4f32e4681.zip
CMake-7b637ebdc97655462d08d8ff70bee5d4f32e4681.tar.gz
CMake-7b637ebdc97655462d08d8ff70bee5d4f32e4681.tar.bz2
Android: Add `ANDROID` variable to indicate the target
Allow projects to use `if(ANDROID)` to condition their Android-specific code paths.
-rw-r--r--Help/manual/cmake-variables.7.rst1
-rw-r--r--Help/variable/ANDROID.rst5
-rw-r--r--Modules/Platform/Android.cmake2
-rw-r--r--Tests/RunCMake/Android/common.cmake4
4 files changed, 12 insertions, 0 deletions
diff --git a/Help/manual/cmake-variables.7.rst b/Help/manual/cmake-variables.7.rst
index cdce6f6..275b66c 100644
--- a/Help/manual/cmake-variables.7.rst
+++ b/Help/manual/cmake-variables.7.rst
@@ -173,6 +173,7 @@ Variables that Describe the System
.. toctree::
:maxdepth: 1
+ /variable/ANDROID
/variable/APPLE
/variable/BORLAND
/variable/CMAKE_CL_64
diff --git a/Help/variable/ANDROID.rst b/Help/variable/ANDROID.rst
new file mode 100644
index 0000000..fede4ca
--- /dev/null
+++ b/Help/variable/ANDROID.rst
@@ -0,0 +1,5 @@
+ANDROID
+-------
+
+Set to ``1`` when the target system (:variable:`CMAKE_SYSTEM_NAME`) is
+``Android``.
diff --git a/Modules/Platform/Android.cmake b/Modules/Platform/Android.cmake
index 1bdad04..3d69733 100644
--- a/Modules/Platform/Android.cmake
+++ b/Modules/Platform/Android.cmake
@@ -1,5 +1,7 @@
include(Platform/Linux)
+set(ANDROID 1)
+
# Android has soname, but binary names must end in ".so" so we cannot append
# a version number. Also we cannot portably represent symlinks on the host.
set(CMAKE_PLATFORM_NO_VERSIONED_SONAME 1)
diff --git a/Tests/RunCMake/Android/common.cmake b/Tests/RunCMake/Android/common.cmake
index a679f6c..7eac5d6 100644
--- a/Tests/RunCMake/Android/common.cmake
+++ b/Tests/RunCMake/Android/common.cmake
@@ -1,6 +1,10 @@
enable_language(C)
enable_language(CXX)
+if(NOT ANDROID)
+ message(SEND_ERROR "CMake variable 'ANDROID' is not set to a true value.")
+endif()
+
foreach(f
"${CMAKE_C_ANDROID_TOOLCHAIN_PREFIX}gcc${CMAKE_C_ANDROID_TOOLCHAIN_SUFFIX}"
"${CMAKE_CXX_ANDROID_TOOLCHAIN_PREFIX}g++${CMAKE_CXX_ANDROID_TOOLCHAIN_SUFFIX}"