From 81f670fa833e54a91b1b17eabade3162f31582f0 Mon Sep 17 00:00:00 2001 From: Brad King Date: Thu, 12 Jan 2023 14:35:38 -0500 Subject: VS: Honor compile options for MASM The Ninja and Makefile generators honor `target_compile_options` and friends for MASM `.asm` sources. Teach the VS generator to honor them too for consistency. Fixes: #24289 --- Source/cmVisualStudio10TargetGenerator.cxx | 2 ++ Tests/VSMASM/CMakeLists.txt | 2 ++ Tests/VSMASM/foo.asm | 6 ++++++ 3 files changed, 10 insertions(+) diff --git a/Source/cmVisualStudio10TargetGenerator.cxx b/Source/cmVisualStudio10TargetGenerator.cxx index 1f45ce3..9734414 100644 --- a/Source/cmVisualStudio10TargetGenerator.cxx +++ b/Source/cmVisualStudio10TargetGenerator.cxx @@ -3867,6 +3867,8 @@ bool cmVisualStudio10TargetGenerator::ComputeMasmOptions( this->LocalGenerator->AddLanguageFlags(flags, this->GeneratorTarget, cmBuildStep::Compile, "ASM_MASM", configName); + this->LocalGenerator->AddCompileOptions(flags, this->GeneratorTarget, + "ASM_MASM", configName); masmOptions.Parse(flags); diff --git a/Tests/VSMASM/CMakeLists.txt b/Tests/VSMASM/CMakeLists.txt index 603a43b..49bd24a 100644 --- a/Tests/VSMASM/CMakeLists.txt +++ b/Tests/VSMASM/CMakeLists.txt @@ -8,3 +8,5 @@ else() endif() include_directories(${CMAKE_CURRENT_SOURCE_DIR}/include) add_executable(VSMASM main.c foo.asm) +target_compile_definitions(VSMASM PUBLIC DEF_FOO) +target_compile_options(VSMASM PUBLIC -DDEF_BAR) diff --git a/Tests/VSMASM/foo.asm b/Tests/VSMASM/foo.asm index 51cb969..97bdd1a 100644 --- a/Tests/VSMASM/foo.asm +++ b/Tests/VSMASM/foo.asm @@ -1,3 +1,9 @@ +ifndef DEF_FOO +.err +endif +ifndef DEF_BAR +.err +endif ifndef TESTx64 .386 .model flat, c -- cgit v0.12