diff options
Diffstat (limited to 'Source/cmGlobalUnixMakefileGenerator3.h')
-rw-r--r-- | Source/cmGlobalUnixMakefileGenerator3.h | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/Source/cmGlobalUnixMakefileGenerator3.h b/Source/cmGlobalUnixMakefileGenerator3.h index 60ca2da..3f8dbc2 100644 --- a/Source/cmGlobalUnixMakefileGenerator3.h +++ b/Source/cmGlobalUnixMakefileGenerator3.h @@ -97,6 +97,19 @@ public: void WriteConvenienceRules(std::ostream& ruleFileStream, std::set<cmStdString> &emitted); + /** In order to support parallel builds for custom commands with + multiple outputs the outputs are given a serial order, and only + the first output actually has the build rule. Other outputs + just depend on the first one. The check-build-system step must + remove a dependee if the depender is missing to make sure both + are regenerated properly. This method is used by the local + makefile generators to register such pairs. */ + void AddMultipleOutputPair(const char* depender, const char* dependee); + + /** Support for multiple custom command outputs. Called during + check-build-system step. */ + virtual void CheckMultipleOutputs(cmMakefile* mf, bool verbose); + protected: void WriteMainMakefile2(); void WriteMainCMakefile(); @@ -137,6 +150,9 @@ protected: // added later. If non-empty this variable holds a fake dependency // that can be added. std::string EmptyRuleHackDepends; + + typedef std::map<cmStdString, cmStdString> MultipleOutputPairsType; + MultipleOutputPairsType MultipleOutputPairs; }; #endif |