diff options
| author | Curtis J Bezault <curtbezault@gmail.com> | 2019-07-18 09:02:21 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2019-07-18 09:02:21 -0700 |
| commit | bb3a9ddb6ec917f549e991f6bd344ce77054bb67 (patch) | |
| tree | fff6dcc363c397df752f1b638703e1e51ec454e0 /toolsrc/include | |
| parent | 5a41488a51d93e4c8cfc15ac42c14f4b02b64741 (diff) | |
| download | vcpkg-bb3a9ddb6ec917f549e991f6bd344ce77054bb67.tar.gz vcpkg-bb3a9ddb6ec917f549e991f6bd344ce77054bb67.zip | |
[vcpkg] Environment Variable Passthrough (#7290)
* use additional env param
* remove partials
* remove change to linux triplet
* Fix some issues that vicroms pointed out
* whitespace change
Diffstat (limited to 'toolsrc/include')
| -rw-r--r-- | toolsrc/include/vcpkg/build.h | 24 | ||||
| -rw-r--r-- | toolsrc/include/vcpkg/sourceparagraph.h | 2 |
2 files changed, 26 insertions, 0 deletions
diff --git a/toolsrc/include/vcpkg/build.h b/toolsrc/include/vcpkg/build.h index 04cd7cf87..e26597376 100644 --- a/toolsrc/include/vcpkg/build.h +++ b/toolsrc/include/vcpkg/build.h @@ -117,6 +117,29 @@ namespace vcpkg::Build std::string create_error_message(const BuildResult build_result, const PackageSpec& spec); std::string create_user_troubleshooting_message(const PackageSpec& spec); + enum class VcpkgTripletVar + { + TARGET_ARCHITECTURE = 0, + CMAKE_SYSTEM_NAME, + CMAKE_SYSTEM_VERSION, + PLATFORM_TOOLSET, + VISUAL_STUDIO_PATH, + CHAINLOAD_TOOLCHAIN_FILE, + BUILD_TYPE, + ENV_PASSTHROUGH, + }; + + const std::unordered_map<std::string, VcpkgTripletVar> VCPKG_OPTIONS = { + {"VCPKG_TARGET_ARCHITECTURE", VcpkgTripletVar::TARGET_ARCHITECTURE}, + {"VCPKG_CMAKE_SYSTEM_NAME", VcpkgTripletVar::CMAKE_SYSTEM_NAME}, + {"VCPKG_CMAKE_SYSTEM_VERSION", VcpkgTripletVar::CMAKE_SYSTEM_VERSION}, + {"VCPKG_PLATFORM_TOOLSET", VcpkgTripletVar::PLATFORM_TOOLSET}, + {"VCPKG_VISUAL_STUDIO_PATH", VcpkgTripletVar::VISUAL_STUDIO_PATH}, + {"VCPKG_CHAINLOAD_TOOLCHAIN_FILE", VcpkgTripletVar::CHAINLOAD_TOOLCHAIN_FILE}, + {"VCPKG_BUILD_TYPE", VcpkgTripletVar::BUILD_TYPE}, + {"VCPKG_ENV_PASSTHROUGH", VcpkgTripletVar::ENV_PASSTHROUGH}, + }; + /// <summary> /// Settings from the triplet file which impact the build environment and post-build checks /// </summary> @@ -135,6 +158,7 @@ namespace vcpkg::Build Optional<fs::path> visual_studio_path; Optional<std::string> external_toolchain_file; Optional<ConfigurationType> build_type; + std::vector<std::string> passthrough_env_vars; }; std::string make_build_env_cmd(const PreBuildInfo& pre_build_info, const Toolset& toolset); diff --git a/toolsrc/include/vcpkg/sourceparagraph.h b/toolsrc/include/vcpkg/sourceparagraph.h index 6232a3fd2..9fbd83475 100644 --- a/toolsrc/include/vcpkg/sourceparagraph.h +++ b/toolsrc/include/vcpkg/sourceparagraph.h @@ -23,6 +23,8 @@ namespace vcpkg std::vector<std::string> filter_dependencies(const std::vector<Dependency>& deps, const Triplet& t); std::vector<FeatureSpec> filter_dependencies_to_specs(const std::vector<Dependency>& deps, const Triplet& t); + std::vector<Features> filter_dependencies_to_features(const std::vector<vcpkg::Dependency>& deps, + const Triplet& t); // zlib[uwp] becomes Dependency{"zlib", "uwp"} std::vector<Dependency> expand_qualified_dependencies(const std::vector<std::string>& depends); |
