aboutsummaryrefslogtreecommitdiff
path: root/toolsrc/include
diff options
context:
space:
mode:
authorCurtis J Bezault <curtbezault@gmail.com>2019-07-19 08:01:38 -0700
committerGitHub <noreply@github.com>2019-07-19 08:01:38 -0700
commit618fa203c13c30bd19826988cff66481bca0562f (patch)
tree3a5c8b388d72beaa82a20fe317a363de209bec41 /toolsrc/include
parentcf9820bb86565fc21b68890749c8954c9cff1778 (diff)
downloadvcpkg-618fa203c13c30bd19826988cff66481bca0562f.tar.gz
vcpkg-618fa203c13c30bd19826988cff66481bca0562f.zip
[vcpkg] Portfile Settings (#7292)
Diffstat (limited to 'toolsrc/include')
-rw-r--r--toolsrc/include/vcpkg/build.h59
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;