1
0
mirror of https://github.com/Kitware/CMake.git synced 2025-10-16 05:26:58 +08:00

ASM: Do not consider MSVC C/CXX compiler for generic ASM

`cl` does not know how to compile ASM `.s` or `.asm` sources.

Issue: #26617
This commit is contained in:
Brad King
2025-04-08 15:16:44 -04:00
parent b52882e1e3
commit 6baf65ec46

View File

@@ -21,15 +21,15 @@ if(NOT CMAKE_ASM${ASM_DIALECT}_COMPILER)
# finally list compilers to try # finally list compilers to try
if("ASM${ASM_DIALECT}" STREQUAL "ASM") # the generic assembler support if("ASM${ASM_DIALECT}" STREQUAL "ASM") # the generic assembler support
if(NOT CMAKE_ASM_COMPILER_INIT) if(NOT CMAKE_ASM_COMPILER_INIT)
if(CMAKE_C_COMPILER_LOADED) if(CMAKE_C_COMPILER_LOADED AND NOT CMAKE_C_COMPILER_ID MATCHES "^(MSVC)$")
set(CMAKE_ASM_COMPILER_LIST ${CMAKE_C_COMPILER}) set(CMAKE_ASM_COMPILER_LIST ${CMAKE_C_COMPILER})
elseif(CMAKE_CXX_COMPILER_LOADED) elseif(CMAKE_CXX_COMPILER_LOADED AND NOT CMAKE_CXX_COMPILER_ID MATCHES "^(MSVC)$")
set(CMAKE_ASM_COMPILER_LIST ${CMAKE_CXX_COMPILER}) set(CMAKE_ASM_COMPILER_LIST ${CMAKE_CXX_COMPILER})
else() else()
# List all default C and CXX compilers # List all default C and CXX compilers
set(CMAKE_ASM_COMPILER_LIST set(CMAKE_ASM_COMPILER_LIST
${_CMAKE_TOOLCHAIN_PREFIX}cc ${_CMAKE_TOOLCHAIN_PREFIX}gcc cl xlc ${_CMAKE_TOOLCHAIN_PREFIX}cc ${_CMAKE_TOOLCHAIN_PREFIX}gcc xlc
CC ${_CMAKE_TOOLCHAIN_PREFIX}c++ ${_CMAKE_TOOLCHAIN_PREFIX}g++ cl xlC) CC ${_CMAKE_TOOLCHAIN_PREFIX}c++ ${_CMAKE_TOOLCHAIN_PREFIX}g++ xlC)
endif() endif()
endif() endif()
else() # some specific assembler "dialect" else() # some specific assembler "dialect"