diff options
author | Chris Robinson <[email protected]> | 2020-04-04 10:58:43 -0700 |
---|---|---|
committer | Chris Robinson <[email protected]> | 2020-04-04 10:58:43 -0700 |
commit | 8084d08cf9f79a4005d6b0fa6e808bcbfc1c6406 (patch) | |
tree | d3b7b612532a217b8fab4f209827eb2300bc0422 /XCompile-Android.txt | |
parent | 9b11029af9274fc99414f4f007613f7073159fe5 (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.txt | 50 |
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") |