Android.cmake 1.0 KB

1234567891011121314151617181920212223242526272829
  1. # Toolchain config for Android NDK.
  2. # This is expected to be used with a standalone Android toolchain (see
  3. # docs/STANDALONE-TOOLCHAIN.html in the NDK on how to get one).
  4. #
  5. # Usage:
  6. # mkdir build; cd build
  7. # cmake ..; make
  8. # mkdir android; cd android
  9. # cmake -DLLVM_ANDROID_TOOLCHAIN_DIR=/path/to/android/ndk \
  10. # -DCMAKE_TOOLCHAIN_FILE=../../cmake/platforms/Android.cmake ../..
  11. # make <target>
  12. SET(CMAKE_SYSTEM_NAME Linux)
  13. IF(NOT CMAKE_C_COMPILER)
  14. SET(CMAKE_C_COMPILER ${CMAKE_BINARY_DIR}/../bin/clang)
  15. ENDIF()
  16. IF(NOT CMAKE_CXX_COMPILER)
  17. SET(CMAKE_CXX_COMPILER ${CMAKE_BINARY_DIR}/../bin/clang++)
  18. ENDIF()
  19. SET(ANDROID "1" CACHE STRING "ANDROID" FORCE)
  20. SET(ANDROID_COMMON_FLAGS "-target arm-linux-androideabi --sysroot=${LLVM_ANDROID_TOOLCHAIN_DIR}/sysroot -B${LLVM_ANDROID_TOOLCHAIN_DIR}")
  21. SET(CMAKE_C_FLAGS "${ANDROID_COMMON_FLAGS}" CACHE STRING "toolchain_cflags" FORCE)
  22. SET(CMAKE_CXX_FLAGS "${ANDROID_COMMON_FLAGS}" CACHE STRING "toolchain_cxxflags" FORCE)
  23. SET(CMAKE_EXE_LINKER_FLAGS "-pie" CACHE STRING "toolchain_exelinkflags" FORCE)