Files
CMake/Modules/CMakeASM_MARMASMInformation.cmake
Brad King 5f8e4de696 ASM_MARMASM: Populate MSVC debug information format abstraction table
In commit 3166547cf6 (ASM_MARMASM: Add support for Microsoft ARM
assembler language, 2022-10-14) we overlooked populating the runtime
library selection flags for the Microsoft ARM assembler, needed since
commit 0e96a20478 (MSVC: Add abstraction for debug information format,
2022-08-25, v3.25.0-rc1~142^2~1).  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_MARMASM` language with policy
`CMP0141` set to `NEW` causes an error due to the missing table entries.

Issue: #24249
2022-12-15 14:04:54 -05:00

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 ARM assembler, marmasm and marmasm64
set(ASM_DIALECT "_MARMASM")
set(CMAKE_ASM${ASM_DIALECT}_SOURCE_FILE_EXTENSIONS asm)
set(CMAKE_ASM${ASM_DIALECT}_COMPILE_OBJECT "<CMAKE_ASM${ASM_DIALECT}_COMPILER> <DEFINES> <INCLUDES> <FLAGS> -o <OBJECT> <SOURCE>")
# The ASM_MARMASM 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 "-g")
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)