Skip to content
  • Boris Egorov's avatar
    Android/Clang: Tolerate undefined CMAKE_ANDROID_NDK_VERSION · 1c86e397
    Boris Egorov authored and Brad King's avatar Brad King committed
    The previous fix for #21772, commit 005e2cdf (Android: Do not use gold
    for ndk >= r22, 2021-02-26, v3.20.0-rc3~1^2), doesn't work with typical
    android toolchain file, like this one:
    
        https://android.googlesource.com/platform/ndk/+/master/build/cmake/android-legacy.toolchain.cmake
    
    The condition fails to work when CMAKE_ANDROID_NDK_VERSION is undefined:
    second part evaluates to true, although ndk version is not known.
    
    I've encountered following environment where CMAKE_ANDROID_NDK_VERSION
    is used without definition:
    
    * Build uses android toolchain file, which sets CMAKE_SYSTEM_VERSION=1
      and doesn't set CMAKE_ANDROID_NDK_VERSION.
    * Code in Platform/Android-Determine.cmake exits early when it detects
      toolchain usage (via value CMAKE_SYSTEM_VERSION=1). This file is the
      only place in cmake modules where variable CMAKE_ANDROID_NDK_VERSION
      is set, and by early return we skip this definition.
    1c86e397