summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2016-10-21 12:23:38 (GMT)
committerBrad King <brad.king@kitware.com>2016-10-21 12:42:25 (GMT)
commit43f4326ece5035a5a028a7bb90a67c193804c997 (patch)
tree09eeeb57da312a78c7b410365e28142b3e33502c
parenta0c539b5460da283433976053ea181f07fcea32e (diff)
downloadCMake-43f4326ece5035a5a028a7bb90a67c193804c997.zip
CMake-43f4326ece5035a5a028a7bb90a67c193804c997.tar.gz
CMake-43f4326ece5035a5a028a7bb90a67c193804c997.tar.bz2
Android: Fix support for armeabi with c++_static
Add missing "unwind" and "atomic" libraries needed for this combination. See `${ndk}/sources/cxx-stl/llvm-libc++/libs/armeabi/libc++.a` for the libraries the NDK uses. Issue: #16380
-rw-r--r--Modules/Platform/Android/ndk-stl-c++_static.cmake2
-rw-r--r--Tests/RunCMake/Android/RunCMakeTest.cmake5
2 files changed, 2 insertions, 5 deletions
diff --git a/Modules/Platform/Android/ndk-stl-c++_static.cmake b/Modules/Platform/Android/ndk-stl-c++_static.cmake
index 8e562f8..061a5c2 100644
--- a/Modules/Platform/Android/ndk-stl-c++_static.cmake
+++ b/Modules/Platform/Android/ndk-stl-c++_static.cmake
@@ -3,4 +3,6 @@ macro(__android_stl lang)
__android_stl_cxx(${lang} libc++_static.a)
__android_stl_lib(${lang} "${CMAKE_ANDROID_NDK}/sources/cxx-stl/llvm-libc++/libs/${CMAKE_ANDROID_ARCH_ABI}/libc++abi.a" 0)
__android_stl_lib(${lang} "${CMAKE_ANDROID_NDK}/sources/cxx-stl/llvm-libc++/libs/${CMAKE_ANDROID_ARCH_ABI}/libandroid_support.a" 0)
+ __android_stl_lib(${lang} "${CMAKE_ANDROID_NDK}/sources/cxx-stl/llvm-libc++/libs/${CMAKE_ANDROID_ARCH_ABI}/libunwind.a" 0)
+ string(APPEND CMAKE_${lang}_STANDARD_LIBRARIES " -latomic") # provided by toolchain
endmacro()
diff --git a/Tests/RunCMake/Android/RunCMakeTest.cmake b/Tests/RunCMake/Android/RunCMakeTest.cmake
index 39b77cd..86a9896 100644
--- a/Tests/RunCMake/Android/RunCMakeTest.cmake
+++ b/Tests/RunCMake/Android/RunCMakeTest.cmake
@@ -174,11 +174,6 @@ foreach(ndk IN LISTS TEST_ANDROID_NDK)
continue()
endif()
- # Skip combinations that seem to be broken.
- if("${stl};${abi}" MATCHES [[^c\+\+_static;armeabi]])
- continue()
- endif()
-
# Run the tests for this combination.
if("${abi}" STREQUAL "armeabi")
run_Android(ndk-armeabi-thumb) # default: -DCMAKE_ANDROID_ARCH_ABI=armeabi -DCMAKE_ANDROID_ARM_MODE=0