Commit Graph

5 Commits

Author SHA1 Message Date
AJIOB
2b2344b412 MSVC: Add abstraction for runtime checks
Replace our hard-coded default for `/RTC1` with a first-class
abstraction to select runtime checks from an enumeration of logical
names.  Add a `MSVC_RUNTIME_CHECKS` target property and corresponding
`CMAKE_MSVC_RUNTIME_CHECKS` variable.

Removing the old default flag requires a policy because existing
projects may rely on string processing to edit them and choose
runtime checks under the old behavior.  Add policy CMP0184 to
provide compatibility.

Fixes: #26614
2025-01-29 13:07:41 -05:00
Jeremy Koritzinsky
faadb86474 ASM_MASM: Add support for masm-only static libraries
Set correct command to create a static library for Microsoft assembly
dialects.

Fixes: #18889
2024-06-20 10:14:59 -04:00
Brad King
b44714a642 VS: Honor compile options for ASM_MARMASM
The Ninja and Makefile generators honor `target_compile_options` and
friends for ASM_MARMMASM `.asm` sources.  Teach the VS generator to
honor them too for consistency.

Issue: #24289
2023-01-26 12:56:25 -05:00
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
Ilia K
3166547cf6 ASM_MARMASM: Add support for Microsoft ARM assembler language
https://learn.microsoft.com/en-us/cpp/assembler/arm/arm-assembler-reference

Fixes: #23999
2022-11-09 10:22:46 -05:00