diff options
| author | Curtis J Bezault <curtbezault@gmail.com> | 2019-07-19 08:01:38 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2019-07-19 08:01:38 -0700 |
| commit | 618fa203c13c30bd19826988cff66481bca0562f (patch) | |
| tree | 3a5c8b388d72beaa82a20fe317a363de209bec41 /toolsrc/include | |
| parent | cf9820bb86565fc21b68890749c8954c9cff1778 (diff) | |
| download | vcpkg-618fa203c13c30bd19826988cff66481bca0562f.tar.gz vcpkg-618fa203c13c30bd19826988cff66481bca0562f.zip | |
[vcpkg] Portfile Settings (#7292)
Diffstat (limited to 'toolsrc/include')
| -rw-r--r-- | toolsrc/include/vcpkg/build.h | 59 |
1 files changed, 31 insertions, 28 deletions
diff --git a/toolsrc/include/vcpkg/build.h b/toolsrc/include/vcpkg/build.h index e26597376..f4cd3b0ef 100644 --- a/toolsrc/include/vcpkg/build.h +++ b/toolsrc/include/vcpkg/build.h @@ -117,29 +117,6 @@ 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> @@ -148,7 +125,9 @@ namespace vcpkg::Build /// <summary> /// Runs the triplet file in a "capture" mode to create a PreBuildInfo /// </summary> - static PreBuildInfo from_triplet_file(const VcpkgPaths& paths, const Triplet& triplet); + static PreBuildInfo from_triplet_file(const VcpkgPaths& paths, + const Triplet& triplet, + Optional<const SourceControlFileLocation&> port = nullopt); std::string triplet_abi_tag; std::string target_architecture; @@ -163,6 +142,29 @@ namespace vcpkg::Build std::string make_build_env_cmd(const PreBuildInfo& pre_build_info, const Toolset& toolset); + 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}, + }; + struct ExtendedBuildResult { ExtendedBuildResult(BuildResult code); @@ -176,19 +178,20 @@ namespace vcpkg::Build struct BuildPackageConfig { - BuildPackageConfig(const SourceControlFile& src, + BuildPackageConfig(const SourceControlFileLocation& scfl, const Triplet& triplet, - fs::path&& port_dir, const BuildPackageOptions& build_package_options, const std::set<std::string>& feature_list) - : scf(src) + : scfl(scfl) + , scf(*scfl.source_control_file) , triplet(triplet) - , port_dir(std::move(port_dir)) + , port_dir(scfl.source_location) , build_package_options(build_package_options) , feature_list(feature_list) { } + const SourceControlFileLocation& scfl; const SourceControlFile& scf; const Triplet& triplet; fs::path port_dir; |
