From b44714a6429c48c2cabe53fce100bc20c6f8fbfc Mon Sep 17 00:00:00 2001 From: Brad King Date: Thu, 26 Jan 2023 12:55:41 -0500 Subject: 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 --- Source/cmVisualStudio10TargetGenerator.cxx | 2 ++ Templates/MSBuild/FlagTables/v10_MARMASM.json | 9 --------- Tests/VSMARMASM/CMakeLists.txt | 3 +++ Tests/VSMARMASM/foo.asm | 2 +- 4 files changed, 6 insertions(+), 10 deletions(-) diff --git a/Source/cmVisualStudio10TargetGenerator.cxx b/Source/cmVisualStudio10TargetGenerator.cxx index 7b3f348..857b289 100644 --- a/Source/cmVisualStudio10TargetGenerator.cxx +++ b/Source/cmVisualStudio10TargetGenerator.cxx @@ -3822,6 +3822,8 @@ bool cmVisualStudio10TargetGenerator::ComputeMarmasmOptions( this->LocalGenerator->AddLanguageFlags(flags, this->GeneratorTarget, cmBuildStep::Compile, "ASM_MARMASM", configName); + this->LocalGenerator->AddCompileOptions(flags, this->GeneratorTarget, + "ASM_MARMASM", configName); marmasmOptions.Parse(flags); diff --git a/Templates/MSBuild/FlagTables/v10_MARMASM.json b/Templates/MSBuild/FlagTables/v10_MARMASM.json index 8d09574..90668ba 100644 --- a/Templates/MSBuild/FlagTables/v10_MARMASM.json +++ b/Templates/MSBuild/FlagTables/v10_MARMASM.json @@ -120,15 +120,6 @@ "flags": [] }, { - "name": "PredefineDirective", - "switch": "predefine", - "comment": "Specify a SETA, SETL, or SETS directive to predefine a symbol.", - "value": "", - "flags": [ - "UserValue" - ] - }, - { "name": "SourceLink", "switch": "sourcelink", "comment": "Specify the configuration file that contains a simple mapping of local file paths to URLs for source files to display in the debugger.", diff --git a/Tests/VSMARMASM/CMakeLists.txt b/Tests/VSMARMASM/CMakeLists.txt index 6d78e04..85740de 100644 --- a/Tests/VSMARMASM/CMakeLists.txt +++ b/Tests/VSMARMASM/CMakeLists.txt @@ -1,3 +1,6 @@ cmake_minimum_required(VERSION 3.25) # Enable CMP0141 project(VSMARMASM C ASM_MARMASM) add_executable(VSMARMASM main.c foo.asm) +target_compile_options(VSMARMASM PRIVATE + "$<$:SHELL:-predefine \"zero SETA 0\">" + ) diff --git a/Tests/VSMARMASM/foo.asm b/Tests/VSMARMASM/foo.asm index e5b2775..44656ef 100644 --- a/Tests/VSMARMASM/foo.asm +++ b/Tests/VSMARMASM/foo.asm @@ -3,7 +3,7 @@ EXPORT foo foo PROC - mov w0, #0 + mov w0, #zero ret ENDP -- cgit v0.12