From 6baf65ec4659f31b29c0750a14692ddaf6bc91fc Mon Sep 17 00:00:00 2001 From: Brad King Date: Tue, 8 Apr 2025 15:16:44 -0400 Subject: 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 --- Modules/CMakeDetermineASMCompiler.cmake | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Modules/CMakeDetermineASMCompiler.cmake b/Modules/CMakeDetermineASMCompiler.cmake index 2ed5050..165bbc5 100644 --- a/Modules/CMakeDetermineASMCompiler.cmake +++ b/Modules/CMakeDetermineASMCompiler.cmake @@ -21,15 +21,15 @@ if(NOT CMAKE_ASM${ASM_DIALECT}_COMPILER) # finally list compilers to try if("ASM${ASM_DIALECT}" STREQUAL "ASM") # the generic assembler support 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}) - 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}) else() # List all default C and CXX compilers set(CMAKE_ASM_COMPILER_LIST - ${_CMAKE_TOOLCHAIN_PREFIX}cc ${_CMAKE_TOOLCHAIN_PREFIX}gcc cl xlc - CC ${_CMAKE_TOOLCHAIN_PREFIX}c++ ${_CMAKE_TOOLCHAIN_PREFIX}g++ cl xlC) + ${_CMAKE_TOOLCHAIN_PREFIX}cc ${_CMAKE_TOOLCHAIN_PREFIX}gcc xlc + CC ${_CMAKE_TOOLCHAIN_PREFIX}c++ ${_CMAKE_TOOLCHAIN_PREFIX}g++ xlC) endif() endif() else() # some specific assembler "dialect" -- cgit v0.12