diff options
author | Brad King <brad.king@kitware.com> | 2018-04-26 12:40:49 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2018-04-26 12:40:49 (GMT) |
commit | ae6722483e8e1b64cf05d5186c6240d724ad409e (patch) | |
tree | 04be656961558e31052caddc2f252a1fe09b2737 /Source | |
parent | 83e3b1497d4889f8dbb7238a270296377035e40b (diff) | |
parent | 0826c20128fad20aafac2006ac0371e381e3cf60 (diff) | |
download | CMake-ae6722483e8e1b64cf05d5186c6240d724ad409e.zip CMake-ae6722483e8e1b64cf05d5186c6240d724ad409e.tar.gz CMake-ae6722483e8e1b64cf05d5186c6240d724ad409e.tar.bz2 |
Merge branch 'backport-ninja-issue-17942' into ninja-issue-17942
Diffstat (limited to 'Source')
-rw-r--r-- | Source/cmGeneratorExpressionEvaluationFile.cxx | 6 | ||||
-rw-r--r-- | Source/cmNinjaTargetGenerator.cxx | 4 |
2 files changed, 9 insertions, 1 deletions
diff --git a/Source/cmGeneratorExpressionEvaluationFile.cxx b/Source/cmGeneratorExpressionEvaluationFile.cxx index c544141..99b9261 100644 --- a/Source/cmGeneratorExpressionEvaluationFile.cxx +++ b/Source/cmGeneratorExpressionEvaluationFile.cxx @@ -105,8 +105,14 @@ void cmGeneratorExpressionEvaluationFile::CreateOutputFile( lg, config, false, nullptr, nullptr, nullptr, le); cmSourceFile* sf = lg->GetMakefile()->GetOrCreateSource( name, false, cmSourceFileLocationKind::Known); + // Tell TraceDependencies that the file is not expected to exist + // on disk yet. We generate it after that runs. sf->SetProperty("GENERATED", "1"); + // Tell the build system generators that there is no build rule + // to generate the file. + sf->SetProperty("__CMAKE_GENERATED_BY_CMAKE", "1"); + gg->SetFilenameTargetDepends( sf, this->OutputFileExpr->GetSourceSensitiveTargets()); } diff --git a/Source/cmNinjaTargetGenerator.cxx b/Source/cmNinjaTargetGenerator.cxx index ddb1d54..4ce3cef 100644 --- a/Source/cmNinjaTargetGenerator.cxx +++ b/Source/cmNinjaTargetGenerator.cxx @@ -948,7 +948,9 @@ void cmNinjaTargetGenerator::WriteObjectBuildStatement( // (either attached to this source file or another one), assume that one of // the target dependencies, OBJECT_DEPENDS or header file custom commands // will rebuild the file. - if (source->GetPropertyAsBool("GENERATED") && !source->GetCustomCommand() && + if (source->GetPropertyAsBool("GENERATED") && + !source->GetPropertyAsBool("__CMAKE_GENERATED_BY_CMAKE") && + !source->GetCustomCommand() && !this->GetGlobalGenerator()->HasCustomCommandOutput(sourceFileName)) { this->GetGlobalGenerator()->AddAssumedSourceDependencies(sourceFileName, orderOnlyDeps); |