| # Distributed under the OSI-approved BSD 3-Clause License. See accompanying |
| # file Copyright.txt or https://cmake.org/licensing for details. |
| |
| set(_ANDROID_TOOL_C_COMPILER "") |
| set(_ANDROID_TOOL_CXX_COMPILER "") |
| set(_ANDROID_TOOL_PREFIX "") |
| file(GLOB _gcc "${CMAKE_ANDROID_STANDALONE_TOOLCHAIN}/bin/*-gcc${_ANDROID_HOST_EXT}") |
| foreach(gcc IN LISTS _gcc) |
| if("${gcc}" MATCHES "/bin/([^/]*)gcc${_ANDROID_HOST_EXT}$") |
| set(_ANDROID_TOOL_PREFIX "${CMAKE_MATCH_1}") |
| break() |
| endif() |
| endforeach() |
| |
| if(NOT _ANDROID_TOOL_PREFIX) |
| message(FATAL_ERROR |
| "Android: No '*-gcc' compiler found in CMAKE_ANDROID_STANDALONE_TOOLCHAIN:\n" |
| " ${CMAKE_ANDROID_STANDALONE_TOOLCHAIN}" |
| ) |
| endif() |
| |
| # Help CMakeFindBinUtils locate things. |
| set(_CMAKE_TOOLCHAIN_PREFIX "${_ANDROID_TOOL_PREFIX}") |
| |
| # _ANDROID_TOOL_PREFIX should now match `gcc -dumpmachine`. |
| string(REGEX REPLACE "-$" "" _ANDROID_TOOL_C_TOOLCHAIN_MACHINE "${_ANDROID_TOOL_PREFIX}") |
| |
| execute_process( |
| COMMAND "${CMAKE_ANDROID_STANDALONE_TOOLCHAIN}/bin/${_ANDROID_TOOL_PREFIX}gcc${_ANDROID_HOST_EXT}" -dumpversion |
| OUTPUT_VARIABLE _gcc_version |
| ERROR_VARIABLE _gcc_error |
| OUTPUT_STRIP_TRAILING_WHITESPACE |
| ) |
| if(_gcc_version MATCHES "^([0-9]+\\.[0-9]+)") |
| set(_ANDROID_TOOL_C_TOOLCHAIN_VERSION "${CMAKE_MATCH_1}") |
| else() |
| message(FATAL_ERROR |
| "Android: Failed to extract the standalone toolchain version. The command:\n" |
| " '${CMAKE_ANDROID_STANDALONE_TOOLCHAIN}/bin/${_ANDROID_TOOL_PREFIX}gcc${_ANDROID_HOST_EXT}' '-dumpversion'\n" |
| "produced output:\n" |
| " ${_gcc_version}\n" |
| ) |
| endif() |
| |
| set(_ANDROID_TOOL_C_TOOLCHAIN_PREFIX "${CMAKE_ANDROID_STANDALONE_TOOLCHAIN}/bin/${_ANDROID_TOOL_PREFIX}") |
| set(_ANDROID_TOOL_C_TOOLCHAIN_SUFFIX "${_ANDROID_HOST_EXT}") |
| |
| set(_ANDROID_TOOL_CXX_TOOLCHAIN_MACHINE "${_ANDROID_TOOL_C_TOOLCHAIN_MACHINE}") |
| set(_ANDROID_TOOL_CXX_TOOLCHAIN_VERSION "${_ANDROID_TOOL_C_TOOLCHAIN_VERSION}") |
| set(_ANDROID_TOOL_CXX_TOOLCHAIN_PREFIX "${_ANDROID_TOOL_C_TOOLCHAIN_PREFIX}") |
| set(_ANDROID_TOOL_CXX_TOOLCHAIN_SUFFIX "${_ANDROID_TOOL_C_TOOLCHAIN_SUFFIX}") |
| |
| if(EXISTS "${CMAKE_ANDROID_STANDALONE_TOOLCHAIN}/bin/clang${_ANDROID_HOST_EXT}") |
| set(_ANDROID_TOOL_C_COMPILER "${CMAKE_ANDROID_STANDALONE_TOOLCHAIN}/bin/clang${_ANDROID_HOST_EXT}") |
| set(_ANDROID_TOOL_C_COMPILER_EXTERNAL_TOOLCHAIN "${CMAKE_ANDROID_STANDALONE_TOOLCHAIN}") |
| set(_ANDROID_TOOL_CXX_COMPILER "${CMAKE_ANDROID_STANDALONE_TOOLCHAIN}/bin/clang++${_ANDROID_HOST_EXT}") |
| set(_ANDROID_TOOL_CXX_COMPILER_EXTERNAL_TOOLCHAIN "${CMAKE_ANDROID_STANDALONE_TOOLCHAIN}") |
| else() |
| set(_ANDROID_TOOL_C_COMPILER "${_ANDROID_TOOL_C_TOOLCHAIN_PREFIX}gcc${_ANDROID_TOOL_C_TOOLCHAIN_SUFFIX}") |
| set(_ANDROID_TOOL_C_COMPILER_EXTERNAL_TOOLCHAIN "") |
| set(_ANDROID_TOOL_CXX_COMPILER "${_ANDROID_TOOL_CXX_TOOLCHAIN_PREFIX}g++${_ANDROID_TOOL_CXX_TOOLCHAIN_SUFFIX}") |
| set(_ANDROID_TOOL_CXX_COMPILER_EXTERNAL_TOOLCHAIN "") |
| endif() |
| |
| set(_ANDROID_TOOL_NDK_TOOLCHAIN_VERSION "") |