summaryrefslogtreecommitdiffstats
path: root/Modules/Platform/Android-Common.cmake
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2018-08-27 19:28:53 (GMT)
committerBrad King <brad.king@kitware.com>2018-08-28 13:27:26 (GMT)
commitca97d4cb5f5872fb63b36a09fff6ee865bbcbb23 (patch)
tree60fd4e6d8ad633e947da57155f2f1f9dc5175e8a /Modules/Platform/Android-Common.cmake
parentc4ab098097f4fe1bc85ee29c6de390dff435f63f (diff)
downloadCMake-ca97d4cb5f5872fb63b36a09fff6ee865bbcbb23.zip
CMake-ca97d4cb5f5872fb63b36a09fff6ee865bbcbb23.tar.gz
CMake-ca97d4cb5f5872fb63b36a09fff6ee865bbcbb23.tar.bz2
Android: Add support for NDK r18
NDK r18 drops GCC toolchains and some STL types. We need to choose a clang toolchain by default when no gcc toolchains are available. Switch the STL type default to `c++_static` when the old `gnustl_static` default is not available. Update the test suite to not run tests for STL types that do not exist. Also do not expect the gcc toolchain `cpp` tool to be available because r18 does not provide it. Also teach it to tolerate `gcc -dumpmachine` output like `arm--linux-android` that differs from the toolchain prefix. Fixes: #18301
Diffstat (limited to 'Modules/Platform/Android-Common.cmake')
-rw-r--r--Modules/Platform/Android-Common.cmake4
1 files changed, 3 insertions, 1 deletions
diff --git a/Modules/Platform/Android-Common.cmake b/Modules/Platform/Android-Common.cmake
index 80a8f41..f8b9346 100644
--- a/Modules/Platform/Android-Common.cmake
+++ b/Modules/Platform/Android-Common.cmake
@@ -32,8 +32,10 @@ if(CMAKE_ANDROID_NDK)
)
endif()
unset(_ANDROID_STL_TYPE_FOUND)
- else()
+ elseif(IS_DIRECTORY ${CMAKE_ANDROID_NDK}/sources/cxx-stl/gnu-libstdc++)
set(CMAKE_ANDROID_STL_TYPE "gnustl_static")
+ else()
+ set(CMAKE_ANDROID_STL_TYPE "c++_static")
endif()
unset(_ANDROID_STL_TYPES)