mirror of
https://github.com/Kitware/CMake.git
synced 2026-04-23 22:58:37 -05:00
Android: Select the STL type for NDK builds
Populate standard include directories and link libraries for the platform. Select the STL corresponding to CMAKE_ANDROID_STL_TYPE and matching the current ABI and toolchain to be used. Refer to the NDK sources/cxx-stl/*/Android.mk files for the needed file locations.
This commit is contained in:
@@ -0,0 +1,13 @@
|
||||
# <ndk>/sources/cxx-stl/llvm-libc++/Android.mk
|
||||
set(_ANDROID_STL_RTTI 1)
|
||||
set(_ANDROID_STL_EXCEPTIONS 1)
|
||||
macro(__android_stl_cxx lang filename)
|
||||
# Add the include directory.
|
||||
__android_stl_inc(${lang} "${CMAKE_ANDROID_NDK}/sources/cxx-stl/llvm-libc++/libcxx/include" 1)
|
||||
|
||||
# Add a secondary include directory if it exists.
|
||||
__android_stl_inc(${lang} "${CMAKE_ANDROID_NDK}/sources/android/support/include" 0)
|
||||
|
||||
# Add the library file.
|
||||
__android_stl_lib(${lang} "${CMAKE_ANDROID_NDK}/sources/cxx-stl/llvm-libc++/libs/${CMAKE_ANDROID_ARCH_ABI}/${filename}" 1)
|
||||
endmacro()
|
||||
@@ -0,0 +1,4 @@
|
||||
include(Platform/Android/ndk-stl-c++)
|
||||
macro(__android_stl lang)
|
||||
__android_stl_cxx(${lang} libc++_shared.so)
|
||||
endmacro()
|
||||
@@ -0,0 +1,6 @@
|
||||
include(Platform/Android/ndk-stl-c++)
|
||||
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)
|
||||
endmacro()
|
||||
@@ -0,0 +1,7 @@
|
||||
# <ndk>/sources/cxx-stl/gabi++/Android.mk
|
||||
set(_ANDROID_STL_RTTI 1)
|
||||
set(_ANDROID_STL_EXCEPTIONS 1)
|
||||
macro(__android_stl_gabixx lang filename)
|
||||
__android_stl_inc(${lang} "${CMAKE_ANDROID_NDK}/sources/cxx-stl/gabi++/include" 1)
|
||||
__android_stl_lib(${lang} "${CMAKE_ANDROID_NDK}/sources/cxx-stl/gabi++/libs/${CMAKE_ANDROID_ARCH_ABI}/${filename}" 1)
|
||||
endmacro()
|
||||
@@ -0,0 +1,4 @@
|
||||
include(Platform/Android/ndk-stl-gabi++)
|
||||
macro(__android_stl lang)
|
||||
__android_stl_gabixx(${lang} libgabi++_shared.so)
|
||||
endmacro()
|
||||
@@ -0,0 +1,4 @@
|
||||
include(Platform/Android/ndk-stl-gabi++)
|
||||
macro(__android_stl lang)
|
||||
__android_stl_gabixx(${lang} libgabi++_static.a)
|
||||
endmacro()
|
||||
@@ -0,0 +1,9 @@
|
||||
# <ndk>/sources/cxx-stl/gnu-libstdc++/Android.mk
|
||||
set(_ANDROID_STL_RTTI 1)
|
||||
set(_ANDROID_STL_EXCEPTIONS 1)
|
||||
macro(__android_stl_gnustl lang filename)
|
||||
__android_stl_inc(${lang} "${CMAKE_ANDROID_NDK}/sources/cxx-stl/gnu-libstdc++/${CMAKE_${lang}_ANDROID_TOOLCHAIN_VERSION}/include" 1)
|
||||
__android_stl_inc(${lang} "${CMAKE_ANDROID_NDK}/sources/cxx-stl/gnu-libstdc++/${CMAKE_${lang}_ANDROID_TOOLCHAIN_VERSION}/libs/${CMAKE_ANDROID_ARCH_ABI}/include" 1)
|
||||
__android_stl_inc(${lang} "${CMAKE_ANDROID_NDK}/sources/cxx-stl/gnu-libstdc++/${CMAKE_${lang}_ANDROID_TOOLCHAIN_VERSION}/include/backward" 1)
|
||||
__android_stl_lib(${lang} "${CMAKE_ANDROID_NDK}/sources/cxx-stl/gnu-libstdc++/${CMAKE_${lang}_ANDROID_TOOLCHAIN_VERSION}/libs/${CMAKE_ANDROID_ARCH_ABI}/${filename}" 1)
|
||||
endmacro()
|
||||
@@ -0,0 +1,4 @@
|
||||
include(Platform/Android/ndk-stl-gnustl)
|
||||
macro(__android_stl lang)
|
||||
__android_stl_gnustl(${lang} libgnustl_shared.so)
|
||||
endmacro()
|
||||
@@ -0,0 +1,4 @@
|
||||
include(Platform/Android/ndk-stl-gnustl)
|
||||
macro(__android_stl lang)
|
||||
__android_stl_gnustl(${lang} libgnustl_static.a)
|
||||
endmacro()
|
||||
@@ -0,0 +1,2 @@
|
||||
macro(__android_stl lang)
|
||||
endmacro()
|
||||
@@ -0,0 +1,7 @@
|
||||
# <ndk>/sources/cxx-stl/stlport/Android.mk
|
||||
set(_ANDROID_STL_RTTI 1)
|
||||
set(_ANDROID_STL_EXCEPTIONS 1)
|
||||
macro(__android_stl_stlport lang filename)
|
||||
__android_stl_inc(${lang} "${CMAKE_ANDROID_NDK}/sources/cxx-stl/stlport/stlport" 1)
|
||||
__android_stl_lib(${lang} "${CMAKE_ANDROID_NDK}/sources/cxx-stl/stlport/libs/${CMAKE_ANDROID_ARCH_ABI}/${filename}" 1)
|
||||
endmacro()
|
||||
@@ -0,0 +1,4 @@
|
||||
include(Platform/Android/ndk-stl-stlport)
|
||||
macro(__android_stl lang)
|
||||
__android_stl_stlport(${lang} libstlport_shared.so)
|
||||
endmacro()
|
||||
@@ -0,0 +1,4 @@
|
||||
include(Platform/Android/ndk-stl-stlport)
|
||||
macro(__android_stl lang)
|
||||
__android_stl_stlport(${lang} libstlport_static.a)
|
||||
endmacro()
|
||||
@@ -0,0 +1,6 @@
|
||||
# <ndk>/android-ndk-r11c/sources/cxx-stl/system/Android.mk
|
||||
set(_ANDROID_STL_RTTI 0)
|
||||
set(_ANDROID_STL_EXCEPTIONS 0)
|
||||
macro(__android_stl lang)
|
||||
__android_stl_inc(${lang} "${CMAKE_ANDROID_NDK}/sources/cxx-stl/system/include" 1)
|
||||
endmacro()
|
||||
Reference in New Issue
Block a user