mirror of
https://github.com/Kitware/CMake.git
synced 2026-05-25 01:28:50 -05: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_ID "@_CMAKE_ASM_COMPILER_ID@")
|
||||||
set(CMAKE_ASM@ASM_DIALECT@_COMPILER_VERSION "@_CMAKE_ASM_COMPILER_VERSION@")
|
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@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_COMPILER_ARCHITECTURE_ID@
|
||||||
|
|
||||||
set(CMAKE_ASM@ASM_DIALECT@_IGNORE_EXTENSIONS h;H;o;O;obj;OBJ;def;DEF;rc;RC)
|
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}}")
|
set(_CMAKE_ASM_${_var} "${CMAKE_ASM${ASM_DIALECT}_${_var}}")
|
||||||
endforeach()
|
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)
|
if(CMAKE_ASM${ASM_DIALECT}_COMPILER_ARCHITECTURE_ID)
|
||||||
set(_SET_CMAKE_ASM_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})")
|
"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}")
|
"matched \"${regex}\":\n${output}")
|
||||||
set(CMAKE_${lang}_COMPILER_ID "${vendor}" PARENT_SCOPE)
|
set(CMAKE_${lang}_COMPILER_ID "${vendor}" PARENT_SCOPE)
|
||||||
set(CMAKE_${lang}_COMPILER_ID_OUTPUT "${output}" PARENT_SCOPE)
|
set(CMAKE_${lang}_COMPILER_ID_OUTPUT "${output}" PARENT_SCOPE)
|
||||||
|
set(CMAKE_${lang}_COMPILER_ID_VENDOR_MATCH "${CMAKE_MATCH_1}" PARENT_SCOPE)
|
||||||
break()
|
break()
|
||||||
else()
|
else()
|
||||||
if("${result}" MATCHES "timeout")
|
if("${result}" MATCHES "timeout")
|
||||||
|
|||||||
Reference in New Issue
Block a user