blob: 153ced6bbb11b3023e509fc462189d172b659daf [file]
# Configure cmake
set(CMAKE_GENERATOR Ninja CACHE STRING "CMake generator")
set(CMAKE_BUILD_TYPE MinSizeRel CACHE STRING "Release, MinSizeRel, RelWithDebInfo, Debug")
set(CMAKE_INSTALL_PREFIX "" CACHE STRING "Installation prefix")
# Configure LLVM
set(LLVM_TARGET_ARCH ${LLVM_TARGET_ARCH} CACHE STRING "X86, ARM, Aarch64, Mips")
set(LLVM_HOST_TRIPLE ${LLVM_HOST_TRIPLE_ARCH}-unknown-linux-android
CACHE STRING "{i386,x86_64,armeabi,aarch64,mips,mips64}-unknown-linux-android")
set(LLVM_BUILD_STATIC TRUE CACHE BOOL "Statically link executables")
set(LLVM_USE_LINKER ${LLVM_USE_LINKER} CACHE STRING "bfd, gold")
set(LLVM_ENABLE_PIC FALSE CACHE BOOL "Enable position independent code")
set(LLVM_TARGETS_TO_BUILD ${LLVM_TARGET_ARCH} CACHE STRING "X86, ARM, AArch64, Mips")
set(CROSS_TOOLCHAIN_FLAGS_NATIVE
"-DCMAKE_C_COMPILER=cc;-DCMAKE_CXX_COMPILER=c++;-DCMAKE_ASM_COMPILER=cc"
CACHE STRING "Compilers to build tblgen targets with")
# Configure the toolchain file
set(ANDROID_ABI ${ANDROID_ABI}
CACHE STRING "armeabi, armeabi-v7a, arm64-v8a, x86, x86_64, mips, mips64")
set(ANDROID_PLATFORM android-21 CACHE STRING "Android platform")
set(ANDROID_ALLOW_UNDEFINED_SYMBOLS ON
CACHE BOOL "Allow undefined symbols when linking shared libraries")
set(ANDROID_PIE FALSE CACHE BOOL "Enable position independent executables")
set(ANDROID_STL "c++_static" CACHE STRING "Use LLVM libc++")
# Set the toolchain file
if ("$ENV{ANDROID_NDK_HOME}" STREQUAL "")
message(WARNING "ANDROID_NDK_HOME environment variable not set. Don't forget "
"to set CMAKE_TOOLCHAIN_FILE manually.")
else()
message(STATUS "Using Android NDK toolchain in $ENV{ANDROID_NDK_HOME}")
set(CMAKE_TOOLCHAIN_FILE
"$ENV{ANDROID_NDK_HOME}/build/cmake/android.toolchain.cmake"
CACHE FILEPATH "Android toolchain file")
endif()