diff options
author | Daniel Eiband <daniel.eiband@brainlab.com> | 2019-10-17 13:40:09 (GMT) |
---|---|---|
committer | Daniel Eiband <daniel.eiband@brainlab.com> | 2019-11-24 19:13:23 (GMT) |
commit | bf76a6b801597da424f1fe0f10adc0e8d559adc3 (patch) | |
tree | d4d9d2843633944af271b6718f89fc92b2064a07 /Source/cmMakefile.h | |
parent | adc50529ac163889c0353756706a7ffddb4ed957 (diff) | |
download | CMake-bf76a6b801597da424f1fe0f10adc0e8d559adc3.zip CMake-bf76a6b801597da424f1fe0f10adc0e8d559adc3.tar.gz CMake-bf76a6b801597da424f1fe0f10adc0e8d559adc3.tar.bz2 |
cmMakefile: Delay CheckTargetProperties and FinalPass to generate time
Diffstat (limited to 'Source/cmMakefile.h')
-rw-r--r-- | Source/cmMakefile.h | 25 |
1 files changed, 13 insertions, 12 deletions
diff --git a/Source/cmMakefile.h b/Source/cmMakefile.h index 6e59494..83a99f6 100644 --- a/Source/cmMakefile.h +++ b/Source/cmMakefile.h @@ -49,6 +49,7 @@ class cmGeneratorExpressionEvaluationFile; class cmGlobalGenerator; class cmImplicitDependsList; class cmInstallGenerator; +class cmLocalGenerator; class cmMessenger; class cmSourceFile; class cmState; @@ -151,23 +152,19 @@ public: bool EnforceUniqueName(std::string const& name, std::string& msg, bool isCustom = false) const; - using FinalAction = std::function<void(cmMakefile&)>; + using GeneratorAction = + std::function<void(cmLocalGenerator&, const cmListFileBacktrace&)>; /** - * Register an action that is executed during FinalPass + * Register an action that is executed during Generate */ - void AddFinalAction(FinalAction action); + void AddGeneratorAction(GeneratorAction action); /** - * Perform FinalPass, Library dependency analysis etc before output of the - * makefile. + * Perform generate actions, Library dependency analysis etc before output of + * the makefile. */ - void ConfigureFinalPass(); - - /** - * run all FinalActions. - */ - void FinalPass(); + void Generate(cmLocalGenerator& lg); /** * Get the target for PRE_BUILD, PRE_LINK, or POST_BUILD commands. @@ -1001,7 +998,6 @@ protected: size_t ObjectLibrariesSourceGroupIndex; #endif - std::vector<FinalAction> FinalActions; cmGlobalGenerator* GlobalGenerator; bool IsFunctionBlocked(const cmListFileFunction& lff, cmExecutionStatus& status); @@ -1011,6 +1007,8 @@ private: cmListFileBacktrace Backtrace; int RecursionDepth; + void DoGenerate(cmLocalGenerator& lg); + void ReadListFile(cmListFile const& listFile, const std::string& filenametoread); @@ -1113,6 +1111,9 @@ private: bool uses_terminal, bool command_expand_lists, const std::string& job_pool); + std::vector<BT<GeneratorAction>> GeneratorActions; + bool GeneratorActionsInvoked = false; + /** * See LinearGetSourceFileWithOutput for background information */ |