diff options
author | Brad King <brad.king@kitware.com> | 2015-03-20 20:43:21 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2015-03-20 21:40:12 (GMT) |
commit | bd9c7f9b2c788f9bf69c2ce4eb93d27212a6dfaa (patch) | |
tree | 8b089b3e0b7a47ed5adfc0c7a1b3a9abc8a175b0 /Source/cmGlobalNinjaGenerator.h | |
parent | ed8e30b00d032594fbb67d62f8bd4319ae6e5907 (diff) | |
download | CMake-bd9c7f9b2c788f9bf69c2ce4eb93d27212a6dfaa.zip CMake-bd9c7f9b2c788f9bf69c2ce4eb93d27212a6dfaa.tar.gz CMake-bd9c7f9b2c788f9bf69c2ce4eb93d27212a6dfaa.tar.bz2 |
Ninja: Add policy to require explicit custom command byproducts
Add policy CMP0058 to avoid generating 'phony' ninja rules for unknown
custom command dependencies. This requires projects to specify their
custom command byproducts explicitly. With this requirement we no
longer have to assume that unknown custom command dependencies are
generated and can instead simply assume they are source files expected
to exist when the build starts. This is particularly important in
in-source builds. It is also helpful for out-of-source builds to allow
Ninja to diagnose missing files before running custom command rules that
depend on them.
Diffstat (limited to 'Source/cmGlobalNinjaGenerator.h')
-rw-r--r-- | Source/cmGlobalNinjaGenerator.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/Source/cmGlobalNinjaGenerator.h b/Source/cmGlobalNinjaGenerator.h index 3f6af6c..6aa76f9 100644 --- a/Source/cmGlobalNinjaGenerator.h +++ b/Source/cmGlobalNinjaGenerator.h @@ -368,6 +368,11 @@ private: /// The set of custom command outputs we have seen. std::set<std::string> CustomCommandOutputs; + /// Whether we are collecting known build outputs and needed + /// dependencies to determine unknown dependencies. + bool ComputingUnknownDependencies; + cmPolicies::PolicyStatus PolicyCMP0058; + /// The combined explicit dependencies of custom build commands std::set<std::string> CombinedCustomCommandExplicitDependencies; |