From aee2c512246ec225cd9a3b3ce1a81b4d6e9491cb Mon Sep 17 00:00:00 2001 From: Josef Angstenberger Date: Thu, 10 Sep 2020 02:18:55 +0200 Subject: file(GENERATE): Create output file structures for all directories first Since commit 36ded610af (PCH: Generate sources during Compute step, 2019-10-05, v3.16.0-rc1~2^2) the source file lookup is done earlier than before. Its parent commit f1fb63b306 (file(GENERATE): Create output file structures even earlier, 2019-10-07, v3.16.0-rc1~2^2~1) prepared for that. However, that commit did not account for generating and using files in separate subdirectories. Fix this by evaluating all generated files before adding automatic files. Fixes: #21144 --- Source/cmGlobalGenerator.cxx | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Source/cmGlobalGenerator.cxx b/Source/cmGlobalGenerator.cxx index 4dc4092..bf8f6cb 100644 --- a/Source/cmGlobalGenerator.cxx +++ b/Source/cmGlobalGenerator.cxx @@ -1611,6 +1611,8 @@ bool cmGlobalGenerator::AddAutomaticSources() { for (const auto& lg : this->LocalGenerators) { lg->CreateEvaluationFileOutputs(); + } + for (const auto& lg : this->LocalGenerators) { for (const auto& gt : lg->GetGeneratorTargets()) { if (gt->GetType() == cmStateEnums::INTERFACE_LIBRARY || gt->GetType() == cmStateEnums::UTILITY || -- cgit v0.12