cmake-rs
cmake-rs copied to clipboard
[Question] how to pass custom options to cmake via environment variable?
trafficstars
Hello, I'm a Android developer. I'm porting large amounts of Rust projects to Android platform. I find some project use this crate to cross-compile for Android. sometime I need to pass some custom options to cmake(for example: ANDROID_ABI , ANDROID_PLATFORM , etc). I can't find environment variable like TARGET_CMAKE_FLAGS. I wanna know how to pass custom options to cmake via environment variable? Thanks.
I find following code works for me:
export TARGET_CMAKE_TOOLCHAIN_FILE="$PWD/android.toolchain.cmake"
ANDROID_ABI=x86
ANDROID_PLATFORM=21
ANDROID_NDK_HOME=/some/path
printf '%s\n' "
set(ANDROID_ABI "${ANDROID_ABI}")
set(ANDROID_PLATFORM "android-${ANDROID_PLATFORM}")
include(${ANDROID_NDK_HOME}/build/cmake/android.toolchain.cmake)
" > "$TARGET_CMAKE_TOOLCHAIN_FILE"