build: Update build script to enable cross compiling for Android #264
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Enable building
liboqs-rust
for Android target.Based on the cmake manual, cross compiling for Android,
https://cmake.org/cmake/help/latest/manual/cmake-toolchains.7.html#cross-compiling-for-android-with-the-ndk
CMAKE_SYSTEM_NAME must be set to Android.
Additionally, set CMAKE_ANDROID_NDK if corresponding env var is available.
Android ecosystem uses both ANDROID_NDK_ROOT and ANDROID_NDK_HOME to refer to NDK's path.
For example, github runners has both variables set:
actions/runner-images#2426
These two cmake variables are sufficient to build for Android with cargo-ndk tool.
I have also fixed the mac-os CI issue and added a step to verify android builds for unix variants.