|  | @@ -100,11 +100,34 @@ endif()
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  set(_ANDROID_STANDALONE_TOOLCHAIN_API "")
 | 
	
		
			
				|  |  |  if(CMAKE_ANDROID_STANDALONE_TOOLCHAIN)
 | 
	
		
			
				|  |  | -  set(_ANDROID_API_LEVEL_H_REGEX "^[\t ]*#[\t ]*define[\t ]+__ANDROID_API__[\t ]+([0-9]+)")
 | 
	
		
			
				|  |  | -  file(STRINGS "${CMAKE_ANDROID_STANDALONE_TOOLCHAIN}/sysroot/usr/include/android/api-level.h"
 | 
	
		
			
				|  |  | -    _ANDROID_API_LEVEL_H_CONTENT REGEX "${_ANDROID_API_LEVEL_H_REGEX}")
 | 
	
		
			
				|  |  | -  if(_ANDROID_API_LEVEL_H_CONTENT MATCHES "${_ANDROID_API_LEVEL_H_REGEX}")
 | 
	
		
			
				|  |  | -    set(_ANDROID_STANDALONE_TOOLCHAIN_API "${CMAKE_MATCH_1}")
 | 
	
		
			
				|  |  | +  # Try to read the API level from the toolchain launcher.
 | 
	
		
			
				|  |  | +  if(EXISTS "${CMAKE_ANDROID_STANDALONE_TOOLCHAIN}/bin/clang")
 | 
	
		
			
				|  |  | +    set(_ANDROID_API_LEVEL_CLANG_REGEX "__ANDROID_API__=([0-9]+)")
 | 
	
		
			
				|  |  | +    file(STRINGS "${CMAKE_ANDROID_STANDALONE_TOOLCHAIN}/bin/clang" _ANDROID_STANDALONE_TOOLCHAIN_BIN_CLANG
 | 
	
		
			
				|  |  | +      REGEX "${_ANDROID_API_LEVEL_CLANG_REGEX}" LIMIT_COUNT 1 LIMIT_INPUT 65536)
 | 
	
		
			
				|  |  | +    if(_ANDROID_STANDALONE_TOOLCHAIN_BIN_CLANG MATCHES "${_ANDROID_API_LEVEL_CLANG_REGEX}")
 | 
	
		
			
				|  |  | +      set(_ANDROID_STANDALONE_TOOLCHAIN_API "${CMAKE_MATCH_1}")
 | 
	
		
			
				|  |  | +    endif()
 | 
	
		
			
				|  |  | +    unset(_ANDROID_STANDALONE_TOOLCHAIN_BIN_CLANG)
 | 
	
		
			
				|  |  | +    unset(_ANDROID_API_LEVEL_CLANG_REGEX)
 | 
	
		
			
				|  |  | +  endif()
 | 
	
		
			
				|  |  | +  if(NOT _ANDROID_STANDALONE_TOOLCHAIN_API)
 | 
	
		
			
				|  |  | +    # The compiler launcher does not know __ANDROID_API__.  Assume this
 | 
	
		
			
				|  |  | +    # is not unified headers and look for it in the api-level.h header.
 | 
	
		
			
				|  |  | +    set(_ANDROID_API_LEVEL_H_REGEX "^[\t ]*#[\t ]*define[\t ]+__ANDROID_API__[\t ]+([0-9]+)")
 | 
	
		
			
				|  |  | +    file(STRINGS "${CMAKE_ANDROID_STANDALONE_TOOLCHAIN}/sysroot/usr/include/android/api-level.h"
 | 
	
		
			
				|  |  | +      _ANDROID_API_LEVEL_H_CONTENT REGEX "${_ANDROID_API_LEVEL_H_REGEX}")
 | 
	
		
			
				|  |  | +    if(_ANDROID_API_LEVEL_H_CONTENT MATCHES "${_ANDROID_API_LEVEL_H_REGEX}")
 | 
	
		
			
				|  |  | +      set(_ANDROID_STANDALONE_TOOLCHAIN_API "${CMAKE_MATCH_1}")
 | 
	
		
			
				|  |  | +    endif()
 | 
	
		
			
				|  |  | +  endif()
 | 
	
		
			
				|  |  | +  if(NOT _ANDROID_STANDALONE_TOOLCHAIN_API)
 | 
	
		
			
				|  |  | +    message(WARNING
 | 
	
		
			
				|  |  | +      "Android: Did not detect API level from\n"
 | 
	
		
			
				|  |  | +      "  ${CMAKE_ANDROID_STANDALONE_TOOLCHAIN}/bin/clang\n"
 | 
	
		
			
				|  |  | +      "or\n"
 | 
	
		
			
				|  |  | +      "  ${CMAKE_ANDROID_STANDALONE_TOOLCHAIN}/sysroot/usr/include/android/api-level.h\n"
 | 
	
		
			
				|  |  | +      )
 | 
	
		
			
				|  |  |    endif()
 | 
	
		
			
				|  |  |  endif()
 | 
	
		
			
				|  |  |  
 |