cmake-rs icon indicating copy to clipboard operation
cmake-rs copied to clipboard

[Question] how to pass custom options to cmake via environment variable?

Open leleliu008 opened this issue 3 years ago • 1 comments
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.

leleliu008 avatar Jan 16 '22 03:01 leleliu008

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"

leleliu008 avatar Jan 16 '22 05:01 leleliu008