Skip to content

Commit 8c7540c

Browse files
committed
[gen][vs] Do not emit BUILD_DEPENDENCIES target when no deps are needed.
1 parent 53eef80 commit 8c7540c

1 file changed

Lines changed: 15 additions & 5 deletions

File tree

  • src/sw/client/cli/generator/vs

src/sw/client/cli/generator/vs/vs.cpp

Lines changed: 15 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -268,8 +268,10 @@ void VSGenerator::generate(const SwBuild &b)
268268
dl(ts, tables1);
269269
dl(ts.substr(0, ts.size() - 1), tables2);
270270

271+
auto &ttb = b.getTargetsToBuild();
272+
271273
// get settings from targets to use settings equality later
272-
for (auto &[pkg, tgts] : b.getTargetsToBuild())
274+
for (auto &[pkg, tgts] : ttb)
273275
{
274276
decltype(s.settings) s2;
275277
for (auto &st : s.settings)
@@ -400,7 +402,7 @@ void VSGenerator::generate(const SwBuild &b)
400402
}
401403
}
402404

403-
for (auto &[pkg, tgts] : b.getTargetsToBuild())
405+
for (auto &[pkg, tgts] : ttb)
404406
{
405407
// add project with settings
406408
for (auto &tgt : tgts)
@@ -527,7 +529,7 @@ void VSGenerator::generate(const SwBuild &b)
527529
d.build_rules.erase(d.main_command);
528530
}
529531
}
530-
for (auto &[pkg, tgts] : b.getTargetsToBuild())
532+
for (auto &[pkg, tgts] : ttb)
531533
{
532534
for (auto &tgt : tgts)
533535
{
@@ -542,7 +544,7 @@ void VSGenerator::generate(const SwBuild &b)
542544
continue;
543545

544546
// filter out predefined & deps targets
545-
auto &pd = b.getTargetsToBuild();
547+
auto &pd = ttb;
546548
if (pd.find(d->getUnresolvedPackage().ppath) == pd.end(d->getUnresolvedPackage().ppath))
547549
{
548550
data.dependencies.insert(&d->getTarget());
@@ -642,6 +644,8 @@ void VSGenerator::generate(const SwBuild &b)
642644
// create datas
643645
for (auto &st : s.settings)
644646
p.getData(st).type = p.type;
647+
648+
bool has_deps = false;
645649
for (auto &st : s.settings)
646650
{
647651
auto &d = p.getData(st);
@@ -669,6 +673,9 @@ void VSGenerator::generate(const SwBuild &b)
669673
p1.dependencies.insert(&p); // add dependency for project
670674
}
671675
}
676+
if (deps.empty())
677+
continue;
678+
has_deps = true;
672679

673680
String deps_str;
674681
for (auto &[d,s] : deps)
@@ -701,6 +708,9 @@ void VSGenerator::generate(const SwBuild &b)
701708
be.command = "sw @" + normalize_path(rsp);
702709
d.pre_build_event = be;
703710
}
711+
712+
if (!has_deps)
713+
s.projects.erase(build_dependencies_name);
704714
}
705715

706716
// add path dirs
@@ -721,7 +731,7 @@ void VSGenerator::generate(const SwBuild &b)
721731
}
722732

723733
// set project dirs
724-
for (auto &[pkg, tgts] : b.getTargetsToBuild())
734+
for (auto &[pkg, tgts] : ttb)
725735
{
726736
for (auto &tgt : tgts)
727737
{

0 commit comments

Comments
 (0)