aboutsummaryrefslogtreecommitdiffstats
path: root/XCompile-Android.txt
diff options
context:
space:
mode:
authorChris Robinson <[email protected]>2020-04-04 10:58:43 -0700
committerChris Robinson <[email protected]>2020-04-04 10:58:43 -0700
commit8084d08cf9f79a4005d6b0fa6e808bcbfc1c6406 (patch)
treed3b7b612532a217b8fab4f209827eb2300bc0422 /XCompile-Android.txt
parent9b11029af9274fc99414f4f007613f7073159fe5 (diff)
Get rid of the Android cross-compile toolchain
It has problems, and the Android NDK provides one that works fine.
Diffstat (limited to 'XCompile-Android.txt')
-rw-r--r--XCompile-Android.txt50
1 files changed, 11 insertions, 39 deletions
diff --git a/XCompile-Android.txt b/XCompile-Android.txt
index 3dd88e80..7a660d2a 100644
--- a/XCompile-Android.txt
+++ b/XCompile-Android.txt
@@ -1,39 +1,11 @@
-# Cross-compiling requires CMake 2.6 or newer. Example:
-# cmake .. -DCMAKE_TOOLCHAIN_FILE=../XCompile-Android.txt -DHOST=arm-linux-androideabi
-# Where 'arm-linux-androideabi' is the host prefix for the cross-compiler. If
-# you already have a toolchain file setup, you may use that instead of this
-# file. Make sure to set CMAKE_FIND_ROOT_PATH to where the NDK toolchain was
-# installed (e.g. "$ENV{HOME}/toolchains/arm-linux-androideabi-r10c-21").
-
-# the name of the target operating system
-SET(CMAKE_SYSTEM_NAME Linux)
-
-# which compilers to use for C and C++
-SET(CMAKE_C_COMPILER "${HOST}-gcc")
-SET(CMAKE_CXX_COMPILER "${HOST}-g++")
-SET(CMAKE_RC_COMPILER "${HOST}-windres")
-
-# here is the target environment located
-SET(CMAKE_FIND_ROOT_PATH "SET THIS TO THE NDK TOOLCHAIN'S INSTALL PATH")
-
-# here is where stuff gets installed to
-SET(CMAKE_INSTALL_PREFIX "${CMAKE_FIND_ROOT_PATH}" CACHE STRING "Install path prefix, prepended onto install directories." FORCE)
-
-# adjust the default behaviour of the FIND_XXX() commands:
-# search headers and libraries in the target environment, search
-# programs in the host environment
-set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
-set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
-set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
-
-# set env vars so that pkg-config will look in the appropriate directory for
-# .pc files (as there seems to be no way to force using ${HOST}-pkg-config)
-set(ENV{PKG_CONFIG_LIBDIR} "${CMAKE_INSTALL_PREFIX}/lib/pkgconfig")
-set(ENV{PKG_CONFIG_PATH} "")
-
-# Qt4 tools
-SET(QT_QMAKE_EXECUTABLE ${HOST}-qmake)
-SET(QT_MOC_EXECUTABLE ${HOST}-moc)
-SET(QT_RCC_EXECUTABLE ${HOST}-rcc)
-SET(QT_UIC_EXECUTABLE ${HOST}-uic)
-SET(QT_LRELEASE_EXECUTABLE ${HOST}-lrelease)
+# Cross-compiling for Android is handled by the NDK's own provided toolchain,
+# which as of this writing, should be in
+# ${ndk_root}/build/cmake/android.toolchain.cmake
+#
+# Certain older NDK versions may also need to explicitly pick the libc++
+# runtime. So for example:
+# cmake .. -DANDROID_STL=c++_shared \
+# -DCMAKE_TOOLCHAIN_FILE=${ndk_root}/build/cmake/android.toolchain.cmake
+#
+
+MESSAGE(FATAL_ERROR "Use the toolchain provided by the Android NDK")