Skip to content

Commit 38cca3a

Browse files
committed
Add short_local_names option. Add explicit size checks.
1 parent ebb6e95 commit 38cca3a

4 files changed

Lines changed: 20 additions & 2 deletions

File tree

src/common/checks.cpp

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -912,6 +912,16 @@ void Checks::print_values(CMakeContext &ctx) const
912912
{
913913
case Check::Decl: // do not participate in parallel
914914
break;
915+
case Check::Type:
916+
{
917+
auto &m = checks_to_print[c->getVariable()];
918+
if (m && m->isOk())
919+
continue;
920+
m = c;
921+
checks_to_print[Check::make_type_var(c->getData(), "SIZEOF_")] = c;
922+
checks_to_print[Check::make_type_var(c->getData(), "SIZE_OF_")] = c;
923+
break;
924+
}
915925
case Check::Symbol:
916926
if (c->isOk())
917927
{
@@ -934,7 +944,7 @@ void Checks::print_values(CMakeContext &ctx) const
934944
}
935945

936946
for (auto &kv : checks_to_print)
937-
ctx.addLine("STRING;" + kv.second->getVariable() + ";" + std::to_string(kv.second->getValue()));
947+
ctx.addLine("STRING;" + kv.first + ";" + std::to_string(kv.second->getValue()));
938948
}
939949

940950
String Check::make_include_var(const String &i)

src/common/settings.cpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -187,6 +187,7 @@ void Settings::load_main(const yaml &root, const SettingsType type)
187187
YAML_EXTRACT_AUTO(copy_all_libraries_to_output);
188188
YAML_EXTRACT_AUTO(copy_import_libs);
189189
YAML_EXTRACT_AUTO(rc_enabled);
190+
YAML_EXTRACT_AUTO(short_local_names);
190191
YAML_EXTRACT_AUTO(full_path_executables);
191192
YAML_EXTRACT_AUTO(var_check_jobs);
192193
YAML_EXTRACT_AUTO(install_prefix);
@@ -268,6 +269,7 @@ void Settings::load_build(const yaml &root)
268269
YAML_EXTRACT_AUTO(copy_all_libraries_to_output);
269270
YAML_EXTRACT_AUTO(copy_import_libs);
270271
YAML_EXTRACT_AUTO(rc_enabled);
272+
YAML_EXTRACT_AUTO(short_local_names);
271273
YAML_EXTRACT_AUTO(full_path_executables);
272274
YAML_EXTRACT_AUTO(var_check_jobs);
273275
YAML_EXTRACT_AUTO(install_prefix);

src/common/settings.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -119,6 +119,7 @@ struct Settings
119119
bool copy_import_libs = false;
120120
bool full_path_executables = false;
121121
bool rc_enabled = true;
122+
bool short_local_names = false;
122123

123124
String install_prefix;
124125

src/printers/cmake.cpp

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1738,7 +1738,12 @@ endif()
17381738

17391739
if (!d.flags[pfHeaderOnly])
17401740
{
1741-
set_target_properties(ctx, "OUTPUT_NAME", d.target_name);
1741+
if (!d.flags[pfLocalProject])
1742+
set_target_properties(ctx, "OUTPUT_NAME", d.target_name);
1743+
else
1744+
{
1745+
set_target_properties(ctx, "OUTPUT_NAME", Settings::get_local_settings().short_local_names ? d.ppath.back() : d.target_name);
1746+
}
17421747
set_target_properties(ctx, "PROJECT_LABEL", d.flags[pfLocalProject] ? d.ppath.back() : d.target_name);
17431748
ctx.emptyLines();
17441749
}

0 commit comments

Comments
 (0)