1if(NOT DEFINED _CMAKE_PROCESSING_LANGUAGE OR _CMAKE_PROCESSING_LANGUAGE STREQUAL "") 2 message(FATAL_ERROR "Internal error: _CMAKE_PROCESSING_LANGUAGE is not set") 3endif() 4 5# Ubuntu 16.04: 6# * /usr/bin/gcc-ar-5 7# * /usr/bin/gcc-ranlib-5 8string(REGEX MATCH "^([0-9]+)" __version_x 9 "${CMAKE_${_CMAKE_PROCESSING_LANGUAGE}_COMPILER_VERSION}") 10 11string(REGEX MATCH "^([0-9]+\\.[0-9]+)" __version_x_y 12 "${CMAKE_${_CMAKE_PROCESSING_LANGUAGE}_COMPILER_VERSION}") 13 14# Try to find tools in the same directory as GCC itself 15get_filename_component(__gcc_hints "${CMAKE_${_CMAKE_PROCESSING_LANGUAGE}_COMPILER}" DIRECTORY) 16 17# http://manpages.ubuntu.com/manpages/wily/en/man1/gcc-ar.1.html 18find_program(CMAKE_${_CMAKE_PROCESSING_LANGUAGE}_COMPILER_AR NAMES 19 "${_CMAKE_TOOLCHAIN_PREFIX}gcc-ar-${__version_x_y}" 20 "${_CMAKE_TOOLCHAIN_PREFIX}gcc-ar-${__version_x}" 21 "${_CMAKE_TOOLCHAIN_PREFIX}gcc-ar${_CMAKE_COMPILER_SUFFIX}" 22 HINTS ${__gcc_hints} 23 NO_CMAKE_PATH NO_CMAKE_ENVIRONMENT_PATH 24 DOC "A wrapper around 'ar' adding the appropriate '--plugin' option for the GCC compiler" 25) 26mark_as_advanced(CMAKE_${_CMAKE_PROCESSING_LANGUAGE}_COMPILER_AR) 27 28# http://manpages.ubuntu.com/manpages/wily/en/man1/gcc-ranlib.1.html 29find_program(CMAKE_${_CMAKE_PROCESSING_LANGUAGE}_COMPILER_RANLIB NAMES 30 "${_CMAKE_TOOLCHAIN_PREFIX}gcc-ranlib-${__version_x_y}" 31 "${_CMAKE_TOOLCHAIN_PREFIX}gcc-ranlib-${__version_x}" 32 "${_CMAKE_TOOLCHAIN_PREFIX}gcc-ranlib${_CMAKE_COMPILER_SUFFIX}" 33 HINTS ${__gcc_hints} 34 NO_CMAKE_PATH NO_CMAKE_ENVIRONMENT_PATH 35 DOC "A wrapper around 'ranlib' adding the appropriate '--plugin' option for the GCC compiler" 36) 37mark_as_advanced(CMAKE_${_CMAKE_PROCESSING_LANGUAGE}_COMPILER_RANLIB) 38