summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Maynard <robert.maynard@kitware.com>2020-01-22 08:56:02 -0500
committerRobert Maynard <robert.maynard@kitware.com>2020-01-22 13:21:12 -0500
commit7c1470f146fd326ff3d5308abead412a2ed07f1f (patch)
tree2e77aece7ad1b3d57ecd4ff35b616f9b8bb793f9
parent2f7e76efa494a5c6a29bf3ab1037d8d545e39105 (diff)
downloadcmake-7c1470f146fd326ff3d5308abead412a2ed07f1f.tar.gz
Makefiles: Organize help output to group 'like' targets
-rw-r--r--Source/cmGlobalUnixMakefileGenerator3.cxx31
1 files changed, 23 insertions, 8 deletions
diff --git a/Source/cmGlobalUnixMakefileGenerator3.cxx b/Source/cmGlobalUnixMakefileGenerator3.cxx
index 0591758d42..90c9ef0d24 100644
--- a/Source/cmGlobalUnixMakefileGenerator3.cxx
+++ b/Source/cmGlobalUnixMakefileGenerator3.cxx
@@ -892,6 +892,9 @@ void cmGlobalUnixMakefileGenerator3::WriteHelpRule(
// Keep track of targets already listed.
std::set<std::string> emittedTargets;
+ std::set<std::string> utility_targets;
+ std::set<std::string> globals_targets;
+ std::set<std::string> project_targets;
// for each local generator
for (const auto& localGen : this->LocalGenerators) {
@@ -907,18 +910,30 @@ void cmGlobalUnixMakefileGenerator3::WriteHelpRule(
(type == cmStateEnums::STATIC_LIBRARY) ||
(type == cmStateEnums::SHARED_LIBRARY) ||
(type == cmStateEnums::MODULE_LIBRARY) ||
- (type == cmStateEnums::OBJECT_LIBRARY) ||
- (type == cmStateEnums::GLOBAL_TARGET) ||
- (type == cmStateEnums::UTILITY)) {
- std::string const& name = target->GetName();
- if (emittedTargets.insert(name).second) {
- path = cmStrCat("... ", name);
- lg->AppendEcho(commands, path);
- }
+ (type == cmStateEnums::OBJECT_LIBRARY)) {
+ project_targets.insert(target->GetName());
+ } else if (type == cmStateEnums::GLOBAL_TARGET) {
+ globals_targets.insert(target->GetName());
+ } else if (type == cmStateEnums::UTILITY) {
+ utility_targets.insert(target->GetName());
}
}
}
}
+
+ for (std::string const& name : globals_targets) {
+ path = cmStrCat("... ", name);
+ lg->AppendEcho(commands, path);
+ }
+ for (std::string const& name : utility_targets) {
+ path = cmStrCat("... ", name);
+ lg->AppendEcho(commands, path);
+ }
+ for (std::string const& name : project_targets) {
+ path = cmStrCat("... ", name);
+ lg->AppendEcho(commands, path);
+ }
+
for (std::string const& o : lg->GetLocalHelp()) {
path = cmStrCat("... ", o);
lg->AppendEcho(commands, path);