Skip to content

Commit 7165986

Browse files
authored
Merge pull request #138 from build-cpp/find-package-first
Generate find-package before fetch-content
2 parents d607b90 + be0ef6d commit 7165986

File tree

1 file changed

+14
-14
lines changed

1 file changed

+14
-14
lines changed

src/cmake_generator.cpp

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -900,6 +900,20 @@ void generate_cmake(const char *path, const parser::Project *parent_project) {
900900
ofs << "}\n";
901901
}
902902

903+
if (!project.packages.empty()) {
904+
comment("Packages");
905+
for (const auto &dep : project.packages) {
906+
auto version = dep.version;
907+
if (version == "*")
908+
version.clear();
909+
auto required = dep.required ? "REQUIRED" : "";
910+
auto config = dep.config ? "CONFIG" : "";
911+
auto components = std::make_pair("COMPONENTS", dep.components);
912+
ConditionScope cs(gen, dep.condition);
913+
cmd("find_package")(dep.name, version, required, config, components).endl();
914+
}
915+
}
916+
903917
if (!project.contents.empty()) {
904918
cmd("include")("FetchContent").endl();
905919
if (!project.root()->vcpkg.enabled()) {
@@ -935,20 +949,6 @@ void generate_cmake(const char *path, const parser::Project *parent_project) {
935949
}
936950
}
937951

938-
if (!project.packages.empty()) {
939-
comment("Packages");
940-
for (const auto &dep : project.packages) {
941-
auto version = dep.version;
942-
if (version == "*")
943-
version.clear();
944-
auto required = dep.required ? "REQUIRED" : "";
945-
auto config = dep.config ? "CONFIG" : "";
946-
auto components = std::make_pair("COMPONENTS", dep.components);
947-
ConditionScope cs(gen, dep.condition);
948-
cmd("find_package")(dep.name, version, required, config, components).endl();
949-
}
950-
}
951-
952952
auto add_subdir = [&](const std::string &dir) {
953953
// clang-format off
954954
comment("Subdirectory: " + dir);

0 commit comments

Comments
 (0)