summaryrefslogtreecommitdiffstats
path: root/Source/cmGlobalNinjaGenerator.cxx
diff options
context:
space:
mode:
authorPatrick Stewart <patstew@gmail.com>2018-02-15 14:30:34 (GMT)
committerPatrick Stewart <patstew@gmail.com>2018-02-15 15:03:53 (GMT)
commited000d7d30434c8cc0be50c8aa19d7ee12e2101b (patch)
tree15abcf09d12c4fb460f9e0a32f30b63f661941dc /Source/cmGlobalNinjaGenerator.cxx
parentcbdec57937597c67be8ca138f37c66c9aa7936ff (diff)
downloadCMake-ed000d7d30434c8cc0be50c8aa19d7ee12e2101b.zip
CMake-ed000d7d30434c8cc0be50c8aa19d7ee12e2101b.tar.gz
CMake-ed000d7d30434c8cc0be50c8aa19d7ee12e2101b.tar.bz2
Ninja: Don't add custom command outputs to phony rule for CMake inputs
Diffstat (limited to 'Source/cmGlobalNinjaGenerator.cxx')
-rw-r--r--Source/cmGlobalNinjaGenerator.cxx8
1 files changed, 7 insertions, 1 deletions
diff --git a/Source/cmGlobalNinjaGenerator.cxx b/Source/cmGlobalNinjaGenerator.cxx
index b251f86..8410609 100644
--- a/Source/cmGlobalNinjaGenerator.cxx
+++ b/Source/cmGlobalNinjaGenerator.cxx
@@ -1384,8 +1384,14 @@ void cmGlobalNinjaGenerator::WriteTargetRebuildManifest(std::ostream& os)
/*explicitDeps=*/cmNinjaDeps(), implicitDeps,
/*orderOnlyDeps=*/cmNinjaDeps(), variables);
+ cmNinjaDeps missingInputs;
+ std::set_difference(std::make_move_iterator(implicitDeps.begin()),
+ std::make_move_iterator(implicitDeps.end()),
+ CustomCommandOutputs.begin(), CustomCommandOutputs.end(),
+ std::back_inserter(missingInputs));
+
this->WritePhonyBuild(os, "A missing CMake input file is not an error.",
- implicitDeps, cmNinjaDeps());
+ missingInputs, cmNinjaDeps());
}
std::string cmGlobalNinjaGenerator::ninjaCmd() const