mirror of
https://github.com/Kitware/CMake.git
synced 2025-12-31 02:39:48 -06:00
ASM: Record vendor-specific output matched to identify assembler
For example, with GNU `as`, we match `GNU assembler`, but with GNU `gcc` as the assembler, we do not match anything. Distinguishing these cases may be useful for constructing assembler command lines.
This commit is contained in:
@@ -10,6 +10,7 @@ set(CMAKE_ASM@ASM_DIALECT@_COMPILER_LOADED 1)
|
||||
set(CMAKE_ASM@ASM_DIALECT@_COMPILER_ID "@_CMAKE_ASM_COMPILER_ID@")
|
||||
set(CMAKE_ASM@ASM_DIALECT@_COMPILER_VERSION "@_CMAKE_ASM_COMPILER_VERSION@")
|
||||
set(CMAKE_ASM@ASM_DIALECT@_COMPILER_ENV_VAR "@_CMAKE_ASM_COMPILER_ENV_VAR@")
|
||||
@_SET_CMAKE_ASM_COMPILER_ID_VENDOR_MATCH@
|
||||
@_SET_CMAKE_ASM_COMPILER_ARCHITECTURE_ID@
|
||||
|
||||
set(CMAKE_ASM@ASM_DIALECT@_IGNORE_EXTENSIONS h;H;o;O;obj;OBJ;def;DEF;rc;RC)
|
||||
|
||||
@@ -211,6 +211,13 @@ foreach(_var
|
||||
set(_CMAKE_ASM_${_var} "${CMAKE_ASM${ASM_DIALECT}_${_var}}")
|
||||
endforeach()
|
||||
|
||||
if(CMAKE_ASM${ASM_DIALECT}_COMPILER_ID_VENDOR_MATCH)
|
||||
set(_SET_CMAKE_ASM_COMPILER_ID_VENDOR_MATCH
|
||||
"set(CMAKE_ASM${ASM_DIALECT}_COMPILER_ID_VENDOR_MATCH [==[${CMAKE_ASM${ASM_DIALECT}_COMPILER_ID_VENDOR_MATCH}]==])")
|
||||
else()
|
||||
set(_SET_CMAKE_ASM_COMPILER_ID_VENDOR_MATCH "")
|
||||
endif()
|
||||
|
||||
if(CMAKE_ASM${ASM_DIALECT}_COMPILER_ARCHITECTURE_ID)
|
||||
set(_SET_CMAKE_ASM_COMPILER_ARCHITECTURE_ID
|
||||
"set(CMAKE_ASM${ASM_DIALECT}_COMPILER_ARCHITECTURE_ID ${CMAKE_ASM${ASM_DIALECT}_COMPILER_ARCHITECTURE_ID})")
|
||||
|
||||
@@ -897,6 +897,7 @@ function(CMAKE_DETERMINE_COMPILER_ID_VENDOR lang userflags)
|
||||
"matched \"${regex}\":\n${output}")
|
||||
set(CMAKE_${lang}_COMPILER_ID "${vendor}" PARENT_SCOPE)
|
||||
set(CMAKE_${lang}_COMPILER_ID_OUTPUT "${output}" PARENT_SCOPE)
|
||||
set(CMAKE_${lang}_COMPILER_ID_VENDOR_MATCH "${CMAKE_MATCH_1}" PARENT_SCOPE)
|
||||
break()
|
||||
else()
|
||||
if("${result}" MATCHES "timeout")
|
||||
|
||||
Reference in New Issue
Block a user