mirror of
https://github.com/Kitware/CMake.git
synced 2025-10-16 22:37:30 +08:00
FASTBuild: optimize generated file size
Two optimizations here: 1. Remove non-mandatory aliases (I only used them for debugging). 2. Make objects lists' name shorter Both of those improvements contribute to the decrease of the FASTBuild DB file, since they are getting serialized.
This commit is contained in:

committed by
Eduard Voronkin

parent
5e206e15c5
commit
914a9eea94
@@ -1307,8 +1307,7 @@ cmFastbuildNormalTargetGenerator::GenerateObjects()
|
||||
objectListNode);
|
||||
ComputePCH(*source, objectListNode, createdPCH);
|
||||
|
||||
objectListNode.Name =
|
||||
cmStrCat(language, "_ObjectGroup_", GetTargetName());
|
||||
objectListNode.Name = cmStrCat(this->GetName(), '_', language, "_Objs");
|
||||
// TODO: Ask cmake the output objects and group by extension instead
|
||||
// of doing this
|
||||
if (language == "RC") {
|
||||
@@ -1325,13 +1324,12 @@ cmFastbuildNormalTargetGenerator::GenerateObjects()
|
||||
}
|
||||
}
|
||||
|
||||
int groupNameCount = 1;
|
||||
int groupNameCount = 0;
|
||||
|
||||
for (auto& val : nodesPermutations) {
|
||||
auto& objectListNode = val.second;
|
||||
objectListNode.Name =
|
||||
cmStrCat(objectListNode.Name, "-", objectListNode.CompilerOutputPath,
|
||||
"-", std::to_string(groupNameCount++));
|
||||
cmStrCat(objectListNode.Name, "_", std::to_string(++groupNameCount));
|
||||
LogMessage(cmStrCat("ObjectList name: ", objectListNode.Name));
|
||||
}
|
||||
|
||||
|
@@ -1078,9 +1078,14 @@ void cmGlobalFastbuildGenerator::WriteExec(FastbuildExecNode const& Exec,
|
||||
}
|
||||
Indent(indent);
|
||||
*BuildFileStream << "}\n";
|
||||
static bool const verbose = GlobalSettingIsOn(FASTBUILD_VERBOSE_GENERATOR) ||
|
||||
cmSystemTools::HasEnv(FASTBUILD_VERBOSE_GENERATOR);
|
||||
// Those aliases are only used for troubleshooting the generated file.
|
||||
if (verbose) {
|
||||
WriteAlias(Exec.OutputsAlias);
|
||||
WriteAlias(Exec.ByproductsAlias);
|
||||
}
|
||||
}
|
||||
|
||||
void cmGlobalFastbuildGenerator::WriteObjectList(
|
||||
FastbuildObjectListNode const& ObjectList, bool allowDistribution)
|
||||
|
Reference in New Issue
Block a user