Explorar o código

Android: Do not pass sysroot include for standalone toolchain

The change in commit v3.8.0-rc1~60^2 (Android: Pass sysroot include
directory explicitly, 2017-01-20) does not make sense when compiling
with a standalone toolchain which is tied to a single API version.
Drop the explicit include directory so that the compiler uses its
default system include order.

Fixes: #16954
Brad King %!s(int64=8) %!d(string=hai) anos
pai
achega
22f8a465d7
Modificáronse 1 ficheiros con 7 adicións e 2 borrados
  1. 7 2
      Modules/Platform/Android-Common.cmake

+ 7 - 2
Modules/Platform/Android-Common.cmake

@@ -156,6 +156,11 @@ macro(__android_compiler_common lang)
   # necessary so that Android API-version-specific headers are preferred
   # over those in the toolchain's `include-fixed` directory (which cannot
   # possibly match all versions).
-  list(APPEND CMAKE_${lang}_STANDARD_INCLUDE_DIRECTORIES "${CMAKE_SYSROOT}/usr/include")
-  list(REMOVE_ITEM CMAKE_${lang}_IMPLICIT_INCLUDE_DIRECTORIES "/usr/include")
+  #
+  # Do not do this for a standalone toolchain because it is already
+  # tied to a specific API version.
+  if(CMAKE_ANDROID_NDK)
+    list(APPEND CMAKE_${lang}_STANDARD_INCLUDE_DIRECTORIES "${CMAKE_SYSROOT}/usr/include")
+    list(REMOVE_ITEM CMAKE_${lang}_IMPLICIT_INCLUDE_DIRECTORIES "/usr/include")
+  endif()
 endmacro()