cmMakefile: Delay CheckTargetProperties and FinalPass to generate time

This commit is contained in:
Daniel Eiband
2019-10-17 15:40:09 +02:00
parent adc50529ac
commit bf76a6b801
9 changed files with 83 additions and 54 deletions

View File

@@ -7,10 +7,13 @@
#include "cmGlobalGenerator.h"
#include "cmInstallFilesGenerator.h"
#include "cmInstallGenerator.h"
#include "cmLocalGenerator.h"
#include "cmMakefile.h"
#include "cmStringAlgorithms.h"
#include "cmSystemTools.h"
class cmListFileBacktrace;
static void FinalAction(cmMakefile& makefile, std::string const& dest,
std::vector<std::string> const& args);
static std::string FindInstallSource(cmMakefile& makefile, const char* name);
@@ -33,9 +36,10 @@ bool cmInstallProgramsCommand(std::vector<std::string> const& args,
std::string const& dest = args[0];
std::vector<std::string> const finalArgs(args.begin() + 1, args.end());
mf.AddFinalAction([dest, finalArgs](cmMakefile& makefile) {
FinalAction(makefile, dest, finalArgs);
});
mf.AddGeneratorAction(
[dest, finalArgs](cmLocalGenerator& lg, const cmListFileBacktrace&) {
FinalAction(*lg.GetMakefile(), dest, finalArgs);
});
return true;
}