From 9a82f8c796bf6903e0bff6d4ad1b87d45a093347 Mon Sep 17 00:00:00 2001 From: Duncan Ogilvie Date: Wed, 1 Jun 2022 16:57:09 +0200 Subject: [PATCH] Temporarily remove the crt-linkage and library-linkage options These require a lot more work to integrate properly with vcpkg, reimplement triplet detection and set a custom triplet --- docs/cmake-toml.md | 4 ---- docs/examples/vcpkg.md | 2 -- include/project_parser.hpp | 2 -- src/cmake_generator.cpp | 6 ------ src/project_parser.cpp | 12 ------------ tests/vcpkg/cmake.toml | 2 -- 6 files changed, 28 deletions(-) diff --git a/docs/cmake-toml.md b/docs/cmake-toml.md index d91d484..e81b9a7 100644 --- a/docs/cmake-toml.md +++ b/docs/cmake-toml.md @@ -97,16 +97,12 @@ include-after = ["cmake/after-subdir.cmake"] version = "2021.05.12" url = "https://github.com/microsoft/vcpkg/archive/refs/tags/2021.05.12.tar.gz" packages = ["fmt", "zlib"] -crt-linkage = "dynamic" -library-linkage = "dynamic" ``` The vcpkg `version` will automatically generate the `url` from the [official repository](https://github.com/microsoft/vcpkg/releases). For a custom registry you can specify your own `url` (and omit the `version`). You can browse available packages on [vcpkg.io](https://vcpkg.io/en/packages.html). To specify package features you can use the following syntax: `imgui[docking-experimental,freetype,sdl2-binding,opengl3-binding]`. -The `crt-linkage` specifies the MSVC runtime library variant to use while compiling packages. `library-linkage` is whether libraries built are dynamic (default) or static. - ## Packages ```toml diff --git a/docs/examples/vcpkg.md b/docs/examples/vcpkg.md index d1e7de1..9ebb048 100644 --- a/docs/examples/vcpkg.md +++ b/docs/examples/vcpkg.md @@ -21,8 +21,6 @@ description = "Dependencies from vcpkg" [vcpkg] version = "2021.05.12" packages = ["fmt"] -crt-linkage = "dynamic" -library-linkage = "dynamic" [find-package] fmt = {} diff --git a/include/project_parser.hpp b/include/project_parser.hpp index 4aae28d..c8f8186 100644 --- a/include/project_parser.hpp +++ b/include/project_parser.hpp @@ -39,8 +39,6 @@ struct Package { struct Vcpkg { std::string version; std::string url; - std::string crt_linkage; - std::string library_linkage; struct Package { std::string name; diff --git a/src/cmake_generator.cpp b/src/cmake_generator.cpp index 687a7aa..1034eaa 100644 --- a/src/cmake_generator.cpp +++ b/src/cmake_generator.cpp @@ -638,12 +638,6 @@ void generate_cmake(const char *path, const parser::Project *parent_project) { cmd("FetchContent_GetProperties")("vcpkg"); cmd("if")("NOT", "vcpkg_POPULATED"); cmd("FetchContent_Populate")("vcpkg"); - if (!project.vcpkg.crt_linkage.empty()) { - cmd("set")("VCPKG_CRT_LINKAGE", project.vcpkg.crt_linkage); - } - if (!project.vcpkg.library_linkage.empty()) { - cmd("set")("VCPKG_LIBRARY_LINKAGE", project.vcpkg.library_linkage); - } cmd("include")("${vcpkg_SOURCE_DIR}/scripts/buildsystems/vcpkg.cmake"); cmd("endif")(); cmd("endif")(); diff --git a/src/project_parser.cpp b/src/project_parser.cpp index 862f3b4..8b5166b 100644 --- a/src/project_parser.cpp +++ b/src/project_parser.cpp @@ -628,18 +628,6 @@ Project::Project(const Project *parent, const std::string &path, bool build) { v.optional("url", vcpkg.url); v.optional("version", vcpkg.version); - auto handle_linkage = [&v](const toml::key &ky, std::string &value) { - if (v.contains(ky)) { - v.required(ky, value); - if (value != "dynamic" && value != "static") { - throw std::runtime_error(format_key_error("Unknown linkage, expected dynamic/static", value, v.find(ky))); - } - } - }; - - handle_linkage("crt-linkage", vcpkg.crt_linkage); - handle_linkage("library-linkage", vcpkg.library_linkage); - for (const auto &p : v.find("packages").as_array()) { Vcpkg::Package package; const auto &package_str = p.as_string().str; diff --git a/tests/vcpkg/cmake.toml b/tests/vcpkg/cmake.toml index 50dd0b3..9207dbf 100644 --- a/tests/vcpkg/cmake.toml +++ b/tests/vcpkg/cmake.toml @@ -9,8 +9,6 @@ description = "Dependencies from vcpkg" [vcpkg] version = "2021.05.12" packages = ["fmt"] -crt-linkage = "dynamic" -library-linkage = "dynamic" [find-package] fmt = {}