summaryrefslogtreecommitdiffstats
path: root/Source/cmPolicies.cxx
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2015-03-20 20:43:21 (GMT)
committerBrad King <brad.king@kitware.com>2015-03-20 21:40:12 (GMT)
commitbd9c7f9b2c788f9bf69c2ce4eb93d27212a6dfaa (patch)
tree8b089b3e0b7a47ed5adfc0c7a1b3a9abc8a175b0 /Source/cmPolicies.cxx
parented8e30b00d032594fbb67d62f8bd4319ae6e5907 (diff)
downloadCMake-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/cmPolicies.cxx')
-rw-r--r--Source/cmPolicies.cxx5
1 files changed, 5 insertions, 0 deletions
diff --git a/Source/cmPolicies.cxx b/Source/cmPolicies.cxx
index 720030b..592df8f 100644
--- a/Source/cmPolicies.cxx
+++ b/Source/cmPolicies.cxx
@@ -380,6 +380,11 @@ cmPolicies::cmPolicies()
CMP0057, "CMP0057",
"Disallow multiple MAIN_DEPENDENCY specifications for the same file.",
3,3,0, cmPolicies::WARN);
+
+ this->DefinePolicy(
+ CMP0058, "CMP0058",
+ "Ninja requires custom command byproducts to be explicit.",
+ 3,3,0, cmPolicies::WARN);
}
cmPolicies::~cmPolicies()