mirror of
https://github.com/Kitware/CMake.git
synced 2025-10-17 15:32:10 +08:00

In commit 0e96a20478
(MSVC: Add abstraction for debug information
format, 2022-08-25, v3.25.0-rc1~142^2~1) we overlooked populating the
runtime library selection flags for the Microsoft assembler. Its
compiler id is `MSVC`, so our generators expect the table to be
populated. It only supports `Embedded` debug info. Use empty flags for
the other formats.
Without this fix, enabling the `ASM_MASM` language with policy `CMP0141`
set to `NEW` causes an error due to the missing table entries.
Fixes: #24249
25 lines
1.2 KiB
CMake
25 lines
1.2 KiB
CMake
# Distributed under the OSI-approved BSD 3-Clause License. See accompanying
|
|
# file Copyright.txt or https://cmake.org/licensing for details.
|
|
|
|
|
|
# support for the MS assembler, masm and masm64
|
|
|
|
set(ASM_DIALECT "_MASM")
|
|
|
|
set(CMAKE_ASM${ASM_DIALECT}_SOURCE_FILE_EXTENSIONS asm)
|
|
|
|
set(CMAKE_ASM${ASM_DIALECT}_COMPILE_OBJECT "<CMAKE_ASM${ASM_DIALECT}_COMPILER> <DEFINES> <INCLUDES> <FLAGS> -c -Fo <OBJECT> <SOURCE>")
|
|
|
|
# The ASM_MASM compiler id for this compiler is "MSVC", so fill out the runtime library table.
|
|
set(CMAKE_ASM${ASM_DIALECT}_COMPILE_OPTIONS_MSVC_RUNTIME_LIBRARY_MultiThreaded "")
|
|
set(CMAKE_ASM${ASM_DIALECT}_COMPILE_OPTIONS_MSVC_RUNTIME_LIBRARY_MultiThreadedDLL "")
|
|
set(CMAKE_ASM${ASM_DIALECT}_COMPILE_OPTIONS_MSVC_RUNTIME_LIBRARY_MultiThreadedDebug "")
|
|
set(CMAKE_ASM${ASM_DIALECT}_COMPILE_OPTIONS_MSVC_RUNTIME_LIBRARY_MultiThreadedDebugDLL "")
|
|
|
|
set(CMAKE_ASM${ASM_DIALECT}_COMPILE_OPTIONS_MSVC_DEBUG_INFORMATION_FORMAT_Embedded "-Zi")
|
|
set(CMAKE_ASM${ASM_DIALECT}_COMPILE_OPTIONS_MSVC_DEBUG_INFORMATION_FORMAT_ProgramDatabase "")
|
|
set(CMAKE_ASM${ASM_DIALECT}_COMPILE_OPTIONS_MSVC_DEBUG_INFORMATION_FORMAT_EditAndContinue "")
|
|
|
|
include(CMakeASMInformation)
|
|
set(ASM_DIALECT)
|