Allow projects to use `if(ANDROID)` to condition their Android-specific code paths.
@@ -173,6 +173,7 @@ Variables that Describe the System
.. toctree::
:maxdepth: 1
+ /variable/ANDROID
/variable/APPLE
/variable/BORLAND
/variable/CMAKE_CL_64
@@ -0,0 +1,5 @@
+ANDROID
+-------
+
+Set to ``1`` when the target system (:variable:`CMAKE_SYSTEM_NAME`) is
+``Android``.
@@ -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)
@@ -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}"