summaryrefslogtreecommitdiffstats
path: root/Source/cmGlobalNinjaGenerator.h
diff options
context:
space:
mode:
authorAdam Strzelecki <ono@java.pl>2014-06-27 20:13:50 (GMT)
committerBrad King <brad.king@kitware.com>2014-06-30 13:33:37 (GMT)
commita33cf6d08853ea4c79324bdd36c04f311a23f20a (patch)
treef88e47a799644cb102626632ac1d50feb1317ba7 /Source/cmGlobalNinjaGenerator.h
parentbf5fc1d5829e7995c0941996b4a515cbd46d4e4e (diff)
downloadCMake-a33cf6d08853ea4c79324bdd36c04f311a23f20a.zip
CMake-a33cf6d08853ea4c79324bdd36c04f311a23f20a.tar.gz
CMake-a33cf6d08853ea4c79324bdd36c04f311a23f20a.tar.bz2
Ninja: Consider only custom commands deps as side-effects (#14972)
Since commit v2.8.12~248^2 (Ninja: Custom Command file depends don't need to exist before building, 2013-06-07) all explicit dependencies inside build folder were considered as possible build command side-effects and phony rules were produced for them in case they don't exist when starting to build. This is unnecessary since regular compile inputs need to exist or cmake will fail. Moreover the exception for sources having GENERATED property that can be missing is already handled by WriteAssumedSourceDependencies. This fixes unwanted phony rules for all regular source files when doing in-source build, causing Ninja not complain when such files gets missing, i.e. during development. Also this reduces number of rules in ninja.build. Now only custom command dependencies are considered as possible side-effects.
Diffstat (limited to 'Source/cmGlobalNinjaGenerator.h')
-rw-r--r--Source/cmGlobalNinjaGenerator.h9
1 files changed, 5 insertions, 4 deletions
diff --git a/Source/cmGlobalNinjaGenerator.h b/Source/cmGlobalNinjaGenerator.h
index f2643af..ff110d7 100644
--- a/Source/cmGlobalNinjaGenerator.h
+++ b/Source/cmGlobalNinjaGenerator.h
@@ -363,10 +363,11 @@ private:
/// The set of custom command outputs we have seen.
std::set<std::string> CustomCommandOutputs;
- //The combined explicit dependencies of all build commands that the global
- //generator has issued. When combined with CombinedBuildOutputs it allows
- //us to detect the set of explicit dependencies that have
- std::set<std::string> CombinedBuildExplicitDependencies;
+ /// The combined explicit dependencies of custom build commands
+ std::set<std::string> CombinedCustomCommandExplicitDependencies;
+
+ /// When combined with CombinedCustomCommandExplicitDependencies it allows
+ /// us to detect the set of explicit dependencies that have
std::set<std::string> CombinedBuildOutputs;
/// The mapping from source file to assumed dependencies.