diff options
author | Andrey Kamaev <andrey.kamaev@itseez.com> | 2012-12-09 18:01:40 +0400 |
---|---|---|
committer | Andrey Kamaev <andrey.kamaev@itseez.com> | 2012-12-09 18:01:40 +0400 |
commit | 863a1a95778f97f500243710cc505649a260a0dc (patch) | |
tree | 06308635ad7856e2fc8fdcf534d45661fc8c63e1 | |
parent | 1f78d318131c93e0b9147535e9126d7a2a597c53 (diff) | |
download | android-cmake-863a1a95778f97f500243710cc505649a260a0dc.tar.gz |
Adjust API level to closest compatible as NDK does
-rw-r--r-- | android.toolchain.cmake | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/android.toolchain.cmake b/android.toolchain.cmake index 28ebbcd..6418b09 100644 --- a/android.toolchain.cmake +++ b/android.toolchain.cmake @@ -282,6 +282,7 @@ # [+] added support for clang compiler # - December 2012 # [+] suppress warning about unused CMAKE_TOOLCHAIN_FILE variable +# [+] adjust API level to closest compatible as NDK does # ------------------------------------------------------------------------------ cmake_minimum_required( VERSION 2.6.3 ) @@ -763,11 +764,22 @@ unset( __availableToolchainCompilerVersions ) # choose native API level __INIT_VARIABLE( ANDROID_NATIVE_API_LEVEL ENV_ANDROID_NATIVE_API_LEVEL ANDROID_API_LEVEL ENV_ANDROID_API_LEVEL ANDROID_STANDALONE_TOOLCHAIN_API_LEVEL ANDROID_DEFAULT_NDK_API_LEVEL_${ANDROID_ARCH_NAME} ANDROID_DEFAULT_NDK_API_LEVEL ) string( REGEX MATCH "[0-9]+" ANDROID_NATIVE_API_LEVEL "${ANDROID_NATIVE_API_LEVEL}" ) -# TODO: filter out unsupported levels +# adjust API level +set( __real_api_level ${ANDROID_DEFAULT_NDK_API_LEVEL_${ANDROID_ARCH_NAME}} ) +foreach( __level ${ANDROID_SUPPORTED_NATIVE_API_LEVELS} ) + if( NOT __level GREATER ANDROID_NATIVE_API_LEVEL AND NOT __level LESS __real_api_level ) + set( __real_api_level ${__level} ) + endif() +endforeach() +if( __real_api_level AND NOT ANDROID_NATIVE_API_LEVEL EQUAL __real_api_level ) + message( STATUS "Adjusting Android API level 'android-${ANDROID_NATIVE_API_LEVEL}' to 'android-${__real_api_level}'") + set( ANDROID_NATIVE_API_LEVEL ${__real_api_level} ) +endif() +unset(__real_api_level) # validate list( FIND ANDROID_SUPPORTED_NATIVE_API_LEVELS "${ANDROID_NATIVE_API_LEVEL}" __levelIdx ) if( __levelIdx EQUAL -1 ) - message( SEND_ERROR "Specified Android native API level (${ANDROID_NATIVE_API_LEVEL}) is not supported by your NDK/toolchain." ) + message( SEND_ERROR "Specified Android native API level 'android-${ANDROID_NATIVE_API_LEVEL}' is not supported by your NDK/toolchain." ) else() if( BUILD_WITH_ANDROID_NDK ) __DETECT_NATIVE_API_LEVEL( __realApiLevel "${ANDROID_NDK}/platforms/android-${ANDROID_NATIVE_API_LEVEL}/arch-${ANDROID_ARCH_NAME}/usr/include/android/api-level.h" ) |