|
|
@@ -80,6 +80,8 @@ function(CMAKE_DETERMINE_COMPILER_ID lang flagvar src)
|
|
|
set(MSVC_${lang}_ARCHITECTURE_ID "${MSVC_${lang}_ARCHITECTURE_ID}"
|
|
|
PARENT_SCOPE)
|
|
|
set(CMAKE_${lang}_COMPILER_VERSION "${CMAKE_${lang}_COMPILER_VERSION}" PARENT_SCOPE)
|
|
|
+ set(CMAKE_${lang}_SIMULATE_ID "${CMAKE_${lang}_SIMULATE_ID}" PARENT_SCOPE)
|
|
|
+ set(CMAKE_${lang}_SIMULATE_VERSION "${CMAKE_${lang}_SIMULATE_VERSION}" PARENT_SCOPE)
|
|
|
endfunction()
|
|
|
|
|
|
#-----------------------------------------------------------------------------
|
|
|
@@ -309,8 +311,10 @@ function(CMAKE_DETERMINE_COMPILER_ID_CHECK lang file)
|
|
|
set(COMPILER_VERSION)
|
|
|
set(PLATFORM_ID)
|
|
|
set(ARCHITECTURE_ID)
|
|
|
+ set(SIMULATE_ID)
|
|
|
+ set(SIMULATE_VERSION)
|
|
|
file(STRINGS ${file}
|
|
|
- CMAKE_${lang}_COMPILER_ID_STRINGS LIMIT_COUNT 4 REGEX "INFO:")
|
|
|
+ CMAKE_${lang}_COMPILER_ID_STRINGS LIMIT_COUNT 6 REGEX "INFO:")
|
|
|
set(COMPILER_ID_TWICE)
|
|
|
foreach(info ${CMAKE_${lang}_COMPILER_ID_STRINGS})
|
|
|
if("${info}" MATCHES ".*INFO:compiler\\[([^]\"]*)\\].*")
|
|
|
@@ -333,6 +337,14 @@ function(CMAKE_DETERMINE_COMPILER_ID_CHECK lang file)
|
|
|
string(REGEX REPLACE "^0+([0-9])" "\\1" COMPILER_VERSION "${COMPILER_VERSION}")
|
|
|
string(REGEX REPLACE "\\.0+([0-9])" ".\\1" COMPILER_VERSION "${COMPILER_VERSION}")
|
|
|
endif()
|
|
|
+ if("${info}" MATCHES ".*INFO:simulate\\[([^]\"]*)\\].*")
|
|
|
+ set(SIMULATE_ID "${CMAKE_MATCH_1}")
|
|
|
+ endif()
|
|
|
+ if("${info}" MATCHES ".*INFO:simulate_version\\[([^]\"]*)\\].*")
|
|
|
+ set(SIMULATE_VERSION "${CMAKE_MATCH_1}")
|
|
|
+ string(REGEX REPLACE "^0+([0-9])" "\\1" SIMULATE_VERSION "${SIMULATE_VERSION}")
|
|
|
+ string(REGEX REPLACE "\\.0+([0-9])" ".\\1" SIMULATE_VERSION "${SIMULATE_VERSION}")
|
|
|
+ endif()
|
|
|
endforeach()
|
|
|
|
|
|
# Detect the exact architecture from the PE header.
|
|
|
@@ -370,6 +382,8 @@ function(CMAKE_DETERMINE_COMPILER_ID_CHECK lang file)
|
|
|
set(CMAKE_${lang}_PLATFORM_ID "${PLATFORM_ID}")
|
|
|
set(MSVC_${lang}_ARCHITECTURE_ID "${ARCHITECTURE_ID}")
|
|
|
set(CMAKE_${lang}_COMPILER_VERSION "${COMPILER_VERSION}")
|
|
|
+ set(CMAKE_${lang}_SIMULATE_ID "${SIMULATE_ID}")
|
|
|
+ set(CMAKE_${lang}_SIMULATE_VERSION "${SIMULATE_VERSION}")
|
|
|
endif()
|
|
|
|
|
|
# Check the compiler identification string.
|
|
|
@@ -418,6 +432,8 @@ function(CMAKE_DETERMINE_COMPILER_ID_CHECK lang file)
|
|
|
set(MSVC_${lang}_ARCHITECTURE_ID "${MSVC_${lang}_ARCHITECTURE_ID}"
|
|
|
PARENT_SCOPE)
|
|
|
set(CMAKE_${lang}_COMPILER_VERSION "${CMAKE_${lang}_COMPILER_VERSION}" PARENT_SCOPE)
|
|
|
+ set(CMAKE_${lang}_SIMULATE_ID "${CMAKE_${lang}_SIMULATE_ID}" PARENT_SCOPE)
|
|
|
+ set(CMAKE_${lang}_SIMULATE_VERSION "${CMAKE_${lang}_SIMULATE_VERSION}" PARENT_SCOPE)
|
|
|
set(CMAKE_EXECUTABLE_FORMAT "${CMAKE_EXECUTABLE_FORMAT}" PARENT_SCOPE)
|
|
|
endfunction()
|
|
|
|