Browse Source

Android: Add `ANDROID` variable to indicate the target

Allow projects to use `if(ANDROID)` to condition their Android-specific
code paths.
pull/271/head
Brad King 9 years ago
parent
commit
7b637ebdc9
  1. 1
      Help/manual/cmake-variables.7.rst
  2. 5
      Help/variable/ANDROID.rst
  3. 2
      Modules/Platform/Android.cmake
  4. 4
      Tests/RunCMake/Android/common.cmake

1
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

5
Help/variable/ANDROID.rst

@ -0,0 +1,5 @@
ANDROID
-------
Set to ``1`` when the target system (:variable:`CMAKE_SYSTEM_NAME`) is
``Android``.

2
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)

4
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}"

Loading…
Cancel
Save