aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Faure <faure@kde.org>2018-02-12 15:59:50 +0100
committerDavid Faure <faure@kde.org>2018-02-12 16:41:42 +0100
commit30961b0f0c2ceef7d089876ddd5d2347888d46a6 (patch)
treeb46d1891a2db92df26304e47ca4de03f28ae0948
parentef084bbbb52e2bc088258309c2ec06e9559ef450 (diff)
downloadextra-cmake-modules-30961b0f0c2ceef7d089876ddd5d2347888d46a6.tar.gz
extra-cmake-modules-30961b0f0c2ceef7d089876ddd5d2347888d46a6.tar.bz2
Android toolchain: add ANDROID_COMPILER_PREFIX variable.
Summary: For ARM it's not necessary, but when building for a x86 tablet I had to set ANDROID_TOOLCHAIN=x86 while gcc/g++ are prefixed with i686-linux-android. i.e. the path is android-ndk-r10e/toolchains/x86-4.9/prebuilt/linux-x86_64/bin/i686-linux-android-g++ Test Plan: cmake picks up the right compiler for me now Reviewers: apol, mart Reviewed By: apol Subscribers: #build_system, #frameworks Tags: #frameworks, #build_system Differential Revision: https://phabricator.kde.org/D10462
-rw-r--r--toolchain/Android.cmake8
1 files changed, 6 insertions, 2 deletions
diff --git a/toolchain/Android.cmake b/toolchain/Android.cmake
index 1d76aed5..2f595a70 100644
--- a/toolchain/Android.cmake
+++ b/toolchain/Android.cmake
@@ -39,6 +39,9 @@
# ``ANDROID_TOOLCHAIN``
# The toolchain to use. See the ``toolchains`` directory of the NDK.
# Default: ``arm-linux-androideabi``.
+# ``ANDROID_COMPILER_PREFIX``
+# The prefix for the gcc and g++ executables. See the ``toolchains/$ANDROID_TOOLCHAIN/prebuilt/*/bin/*-gcc`` in the NDK.
+# Default: ``arm-linux-androideabi``.
# ``ANDROID_ABI``
# The ABI to use. See the ``sources/cxx-stl/gnu-libstdc++/*/libs``
# directories in the NDK. Default: ``armeabi-v7a``.
@@ -137,6 +140,7 @@ set(ANDROID_NDK "$ENV{ANDROID_NDK}" CACHE path "Android NDK path")
set(ANDROID_SDK_ROOT "$ENV{ANDROID_SDK_ROOT}" CACHE path "Android SDK path")
set(ANDROID_ARCHITECTURE "arm" CACHE string "Used Architecture, related to the ABI and TOOLCHAIN")
set(ANDROID_TOOLCHAIN "arm-linux-androideabi" CACHE string "Used SDK")
+set(ANDROID_COMPILER_PREFIX "arm-linux-androideabi" CACHE string "Prefix for gcc/g++/etc")
set(ANDROID_ABI "armeabi-v7a" CACHE string "Used ABI")
set(ANDROID_GCC_VERSION "4.9" CACHE string "Used GCC version" )
set(ANDROID_API_LEVEL "14" CACHE string "Android API Level")
@@ -203,8 +207,8 @@ endif()
link_directories(${CMAKE_SYSTEM_LIBRARY_PATH})
-set(CMAKE_C_COMPILER "${ANDROID_TOOLCHAIN_ROOT}/${ANDROID_TOOLCHAIN}-gcc")
-set(CMAKE_CXX_COMPILER "${ANDROID_TOOLCHAIN_ROOT}/${ANDROID_TOOLCHAIN}-g++")
+set(CMAKE_C_COMPILER "${ANDROID_TOOLCHAIN_ROOT}/${ANDROID_COMPILER_PREFIX}-gcc")
+set(CMAKE_CXX_COMPILER "${ANDROID_TOOLCHAIN_ROOT}/${ANDROID_COMPILER_PREFIX}-g++")
set(CMAKE_EXE_LINKER_FLAGS "${GNUSTL_SHARED} -Wl,-rpath-link,${ANDROID_LIBRARIES_PATH} -llog -lz -lm -ldl -lc -lgcc" CACHE STRING "")
set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS}" CACHE STRING "")