mirror of
https://github.com/reactos/CMake.git
synced 2024-12-07 11:28:41 +00:00
72e0c115b7
-- Detect GHS compiler and version Detect ARCHITECTURE_ID for PPC / ARM / 86 targets Detect PLATFORM_ID for Integrity and Integrity178 platforms Using defines specified in the documents for the compilers: 201416 PPC / 201754 ARM / 201714 86 -- Fallback C/CXX compiler ID to GHS if not otherwise detected and using GHS MULTI generator Works around issue with some GHS compilers not setting __ghs__ compiler define -- Tweak Compiler ID checking so major id of 002017 is not replaced with 217 -- Prefer try_compile() library targets when testing for working GHS compilers -- Avoid CMake errors if reading past end of file for checking if file is PE executable
28 lines
1.0 KiB
CMake
28 lines
1.0 KiB
CMake
# Distributed under the OSI-approved BSD 3-Clause License. See accompanying
|
|
# file Copyright.txt or https://cmake.org/licensing for details.
|
|
|
|
|
|
function(PrintTestCompilerStatus LANG MSG)
|
|
message(STATUS "Check for working ${LANG} compiler: ${CMAKE_${LANG}_COMPILER}${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()
|