aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--toolchain/Android.cmake8
-rw-r--r--toolchain/ECMAndroidDeployQt.cmake6
-rw-r--r--toolchain/deployment-file.json.in6
-rw-r--r--toolchain/specifydependencies.cmake8
4 files changed, 16 insertions, 12 deletions
diff --git a/toolchain/Android.cmake b/toolchain/Android.cmake
index 74b1dbfc..76b3665a 100644
--- a/toolchain/Android.cmake
+++ b/toolchain/Android.cmake
@@ -42,12 +42,6 @@
#
# Additional options are specified as cache variables (eg: on the command line):
#
-# ``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``.
@@ -156,8 +150,6 @@ set_deprecated_variable(CMAKE_ANDROID_ARCH_ABI ANDROID_ABI "armeabi-v7a")
set_deprecated_variable(CMAKE_ANDROID_API ANDROID_API_LEVEL "14")
set(ANDROID_SDK_ROOT "$ENV{ANDROID_SDK_ROOT}" CACHE path "Android SDK path")
-set(ANDROID_TOOLCHAIN "arm-linux-androideabi" CACHE string "Used SDK")
-set(ANDROID_COMPILER_PREFIX "arm-linux-androideabi" CACHE string "Prefix for gcc/g++/etc")
file(GLOB build-tools LIST_DIRECTORIES TRUE RELATIVE ${ANDROID_SDK_ROOT}/build-tools ${ANDROID_SDK_ROOT}/build-tools/*)
list(GET build-tools 0 _default_sdk)
diff --git a/toolchain/ECMAndroidDeployQt.cmake b/toolchain/ECMAndroidDeployQt.cmake
index 66dbbd6e..25da4a23 100644
--- a/toolchain/ECMAndroidDeployQt.cmake
+++ b/toolchain/ECMAndroidDeployQt.cmake
@@ -44,7 +44,13 @@ function(ecm_androiddeployqt QTANDROID_EXPORTED_TARGET ECM_ADDITIONAL_FIND_ROOT_
file(WRITE ${CMAKE_BINARY_DIR}/stl "${OUTSTR}")
endif()
endfunction()
+ function(haveranlib var access VALUE)
+ if (NOT VALUE STREQUAL "")
+ file(WRITE ${CMAKE_BINARY_DIR}/ranlib "${VALUE}")
+ endif()
+ endfunction()
variable_watch(CMAKE_CXX_STANDARD_LIBRARIES havestl)
+ variable_watch(CMAKE_RANLIB haveranlib)
if (NOT TARGET create-apk)
add_custom_target(create-apk)
diff --git a/toolchain/deployment-file.json.in b/toolchain/deployment-file.json.in
index 2b9b44f1..907401b9 100644
--- a/toolchain/deployment-file.json.in
+++ b/toolchain/deployment-file.json.in
@@ -2,9 +2,9 @@
"qt": "@_qt5Core_install_prefix@",
"sdk": "@ANDROID_SDK_ROOT@",
"ndk": "@CMAKE_ANDROID_NDK@",
- "toolchain-prefix": "@ANDROID_TOOLCHAIN@",
- "tool-prefix": "@ANDROID_COMPILER_PREFIX@",
- "toolchain-version": "@CMAKE_ANDROID_NDK_TOOLCHAIN_VERSION@",
+ "toolchain-prefix": "##ANDROID_TOOL_PREFIX##",
+ "tool-prefix": "##ANDROID_COMPILER_PREFIX##",
+ "toolchain-version": "##ANDROID_TOOLCHAIN_VERSION##",
"ndk-host": "@_LOWER_CMAKE_HOST_SYSTEM_NAME@-@CMAKE_HOST_SYSTEM_PROCESSOR@",
"target-architecture": "@ANDROID_ABI@",
"application-binary": "@EXECUTABLE_DESTINATION_PATH@",
diff --git a/toolchain/specifydependencies.cmake b/toolchain/specifydependencies.cmake
index 9cab3f2d..942e88e2 100644
--- a/toolchain/specifydependencies.cmake
+++ b/toolchain/specifydependencies.cmake
@@ -51,7 +51,13 @@ endif()
file(READ "${INPUT_FILE}" CONTENTS)
file(READ "stl" stl_contents)
-string(REPLACE "##EXTRALIBS##" "${extralibs}" NEWCONTENTS "${CONTENTS}")
+file(READ "ranlib" ranlib_contents)
+string(REGEX MATCH ".+/toolchains/(.+)-([^\\-]+)/prebuilt/.*/bin/(.*)-ranlib" x ${ranlib_contents})
+
+string(REPLACE "##ANDROID_TOOL_PREFIX##" "${CMAKE_MATCH_1}" NEWCONTENTS "${CONTENTS}")
+string(REPLACE "##ANDROID_TOOLCHAIN_VERSION##" "${CMAKE_MATCH_2}" NEWCONTENTS "${NEWCONTENTS}")
+string(REPLACE "##ANDROID_COMPILER_PREFIX##" "${CMAKE_MATCH_3}" NEWCONTENTS "${NEWCONTENTS}")
+string(REPLACE "##EXTRALIBS##" "${extralibs}" NEWCONTENTS "${NEWCONTENTS}")
string(REPLACE "##EXTRAPLUGINS##" "${extraplugins}" NEWCONTENTS "${NEWCONTENTS}")
string(REPLACE "##CMAKE_CXX_STANDARD_LIBRARIES##" "${stl_contents}" NEWCONTENTS "${NEWCONTENTS}")
file(WRITE "${OUTPUT_FILE}" ${NEWCONTENTS})