diff options
author | Brad King <brad.king@kitware.com> | 2016-08-23 17:08:53 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2016-08-23 17:10:51 (GMT) |
commit | 7b637ebdc97655462d08d8ff70bee5d4f32e4681 (patch) | |
tree | 037638b87540fc203610652d2d96c700b0fa306c | |
parent | c2f561e58c799cc82df7db70710ae2f79b8b6b64 (diff) | |
download | CMake-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.rst | 1 | ||||
-rw-r--r-- | Help/variable/ANDROID.rst | 5 | ||||
-rw-r--r-- | Modules/Platform/Android.cmake | 2 | ||||
-rw-r--r-- | Tests/RunCMake/Android/common.cmake | 4 |
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}" |