From 27fd172d8dcd42f5c9dc362cc3572f4f4d8132cd Mon Sep 17 00:00:00 2001 From: Kyle Edwards Date: Wed, 27 Jul 2022 12:08:11 -0400 Subject: VERIFY_INTERFACE_HEADER_SETS: Finalize compile info for verify targets Fixes: #23732 --- Source/cmGeneratorTarget.cxx | 6 ++++++ Tests/RunCMake/VerifyHeaderSets/VerifyHeaderSets.cmake | 2 ++ Tests/RunCMake/VerifyHeaderSets/a.h | 4 ++++ 3 files changed, 12 insertions(+) diff --git a/Source/cmGeneratorTarget.cxx b/Source/cmGeneratorTarget.cxx index 8a7215b..729e534 100644 --- a/Source/cmGeneratorTarget.cxx +++ b/Source/cmGeneratorTarget.cxx @@ -16,6 +16,7 @@ #include #include +#include #include #include #include @@ -8616,6 +8617,11 @@ bool cmGeneratorTarget::AddHeaderSetVerification() verifyTarget->SetProperty("AUTOUIC", "OFF"); verifyTarget->SetProperty("DISABLE_PRECOMPILE_HEADERS", "ON"); verifyTarget->SetProperty("UNITY_BUILD", "OFF"); + cm::optional> + perConfigCompileDefinitions; + verifyTarget->FinalizeTargetCompileInfo( + this->Makefile->GetCompileDefinitionsEntries(), + perConfigCompileDefinitions); } if (fileCgesContextSensitive) { diff --git a/Tests/RunCMake/VerifyHeaderSets/VerifyHeaderSets.cmake b/Tests/RunCMake/VerifyHeaderSets/VerifyHeaderSets.cmake index 82ed935..a601491 100644 --- a/Tests/RunCMake/VerifyHeaderSets/VerifyHeaderSets.cmake +++ b/Tests/RunCMake/VerifyHeaderSets/VerifyHeaderSets.cmake @@ -1,5 +1,7 @@ enable_language(C CXX) +add_compile_definitions(TEST_ADD_COMPILE_DEFINITIONS) + set_property(SOURCE a.h PROPERTY LANGUAGE C) set_property(SOURCE dir/c.h PROPERTY LANGUAGE C) set_property(SOURCE dir/cxx.h PROPERTY LANGUAGE CXX) diff --git a/Tests/RunCMake/VerifyHeaderSets/a.h b/Tests/RunCMake/VerifyHeaderSets/a.h index 8b17182..898da49 100644 --- a/Tests/RunCMake/VerifyHeaderSets/a.h +++ b/Tests/RunCMake/VerifyHeaderSets/a.h @@ -2,4 +2,8 @@ # error "TEST_A_H defined" #endif +#ifndef TEST_ADD_COMPILE_DEFINITIONS +# error "TEST_ADD_COMPILE_DEFINITIONS not defined" +#endif + extern void a_h(void); -- cgit v0.12