mirror of
https://github.com/Kitware/CMake.git
synced 2025-12-31 02:39:48 -06:00
cmMakefileTargetGenerator: Simplify custom command output collection
This commit is contained in:
@@ -1290,16 +1290,7 @@ void cmMakefileTargetGenerator::DriveCustomCommands(
|
||||
std::vector<std::string>& depends)
|
||||
{
|
||||
// Depend on all custom command outputs.
|
||||
std::vector<cmSourceFile*> sources;
|
||||
this->GeneratorTarget->GetSourceFiles(
|
||||
sources, this->Makefile->GetSafeDefinition("CMAKE_BUILD_TYPE"));
|
||||
for (cmSourceFile* source : sources) {
|
||||
if (cmCustomCommand* cc = source->GetCustomCommand()) {
|
||||
cmCustomCommandGenerator ccg(*cc, this->GetConfigName(),
|
||||
this->LocalGenerator);
|
||||
cm::append(depends, ccg.GetOutputs());
|
||||
}
|
||||
}
|
||||
cm::append(depends, this->CustomCommandOutputs);
|
||||
}
|
||||
|
||||
void cmMakefileTargetGenerator::WriteObjectDependRules(
|
||||
@@ -1360,6 +1351,8 @@ void cmMakefileTargetGenerator::GenerateCustomRuleFile(
|
||||
this->LocalGenerator->AddImplicitDepends(this->GeneratorTarget, idi.first,
|
||||
objFullPath, srcFullPath);
|
||||
}
|
||||
|
||||
this->CustomCommandOutputs.insert(outputs.begin(), outputs.end());
|
||||
}
|
||||
|
||||
void cmMakefileTargetGenerator::MakeEchoProgress(
|
||||
|
||||
@@ -228,6 +228,9 @@ protected:
|
||||
// Set of extra output files to be driven by the build.
|
||||
std::set<std::string> ExtraFiles;
|
||||
|
||||
// Set of custom command output files to be driven by the build.
|
||||
std::set<std::string> CustomCommandOutputs;
|
||||
|
||||
using MultipleOutputPairsType = std::map<std::string, std::string>;
|
||||
MultipleOutputPairsType MultipleOutputPairs;
|
||||
bool WriteMakeRule(std::ostream& os, const char* comment,
|
||||
|
||||
Reference in New Issue
Block a user