mirror of
https://github.com/cemu-project/vcpkg.git
synced 2025-02-24 03:27:12 +01:00

This command takes a list of ports, and causes the final state of the installed directory to be as-if one ran the install on an empty installed directory (removing any unnecessary packages). This is especially useful with the new `--x-install-root` option, which allows one to set the `installed` directory for vcpkg to use. Additionally, as a drive-by, we do some `stdfs` clean-up and add a `.is_feature()` member function to BinaryParagraph (as opposed to checking for `.feature().empty()`, which is far less clear to read). This feature is experimental.
52 lines
1.4 KiB
C++
52 lines
1.4 KiB
C++
#pragma once
|
|
|
|
#include <vcpkg/packagespec.h>
|
|
#include <vcpkg/paragraphparser.h>
|
|
#include <vcpkg/sourceparagraph.h>
|
|
|
|
namespace vcpkg
|
|
{
|
|
/// <summary>
|
|
/// Built package metadata
|
|
/// </summary>
|
|
struct BinaryParagraph
|
|
{
|
|
BinaryParagraph();
|
|
explicit BinaryParagraph(Parse::Paragraph fields);
|
|
BinaryParagraph(const SourceParagraph& spgh,
|
|
Triplet triplet,
|
|
const std::string& abi_tag,
|
|
const std::vector<FeatureSpec>& deps);
|
|
BinaryParagraph(const SourceParagraph& spgh,
|
|
const FeatureParagraph& fpgh,
|
|
Triplet triplet,
|
|
const std::vector<FeatureSpec>& deps);
|
|
|
|
std::string displayname() const;
|
|
|
|
std::string fullstem() const;
|
|
|
|
std::string dir() const;
|
|
|
|
bool is_feature() const { return !feature.empty(); }
|
|
|
|
PackageSpec spec;
|
|
std::string version;
|
|
std::string description;
|
|
std::string maintainer;
|
|
std::string feature;
|
|
std::vector<std::string> default_features;
|
|
std::vector<std::string> depends;
|
|
std::string abi;
|
|
Type type;
|
|
};
|
|
|
|
struct BinaryControlFile
|
|
{
|
|
BinaryParagraph core_paragraph;
|
|
std::vector<BinaryParagraph> features;
|
|
};
|
|
|
|
void serialize(const BinaryParagraph& pgh, std::string& out_str);
|
|
}
|