| # Distributed under the OSI-approved BSD 3-Clause License. See accompanying | |
| # file Copyright.txt or https://cmake.org/licensing for details. | |
| function(PrintTestCompilerStatus LANG) | |
| # ARGN shouldn't be needed now, but it is there to preserve backward | |
| # compatibility in case this function is called from project code or | |
| # custom toolchains (they shouldn't, but we can easily support it) | |
| message(CHECK_START "Check for working ${LANG} compiler: ${CMAKE_${LANG}_COMPILER}${ARGN}") | |
| endfunction() | |
| function(PrintTestCompilerResult TYPE MSG) | |
| message(${TYPE} "${MSG}") | |
| endfunction() | |
| # if required set the target type if not already explicitly set | |
| macro(__TestCompiler_setTryCompileTargetType) | |
| if(NOT CMAKE_TRY_COMPILE_TARGET_TYPE) | |
| if("${CMAKE_GENERATOR}" MATCHES "Green Hills MULTI") | |
| #prefer static libraries to avoid linking issues | |
| set(CMAKE_TRY_COMPILE_TARGET_TYPE STATIC_LIBRARY) | |
| set(__CMAKE_TEST_COMPILER_TARGET_TYPE_RESTORE 1) | |
| endif() | |
| endif() | |
| endmacro() | |
| # restore the original value | |
| # -- not necessary if __TestCompiler_setTryCompileTargetType() was used in function scope | |
| macro(__TestCompiler_restoreTryCompileTargetType) | |
| if(__CMAKE_TEST_COMPILER_TARGET_TYPE_RESTORE) | |
| unset(CMAKE_TRY_COMPILE_TARGET_TYPE) | |
| unset(__CMAKE_TEST_COMPILER_TARGET_TYPE_RESTORE) | |
| endif() | |
| endmacro() |