cemu-vcpkg/toolsrc/include/vcpkg/binaryparagraph.h

56 lines
1.4 KiB
C
Raw Normal View History

2016-09-18 20:50:08 -07:00
#pragma once
#include <vcpkg/packagespec.h>
#include <vcpkg/sourceparagraph.h>
2019-07-24 14:24:49 -07:00
#include <map>
2016-09-18 20:50:08 -07:00
namespace vcpkg
{
enum class ConsistencyState : unsigned
{
UNKNOWN = 0,
CONSISTENT,
INCONSISTENT,
};
2017-05-24 15:54:12 -07:00
/// <summary>
/// Built package metadata
/// </summary>
2016-09-18 20:50:08 -07:00
struct BinaryParagraph
{
2018-04-25 00:19:27 -07:00
BinaryParagraph();
explicit BinaryParagraph(std::unordered_map<std::string, std::string> fields);
BinaryParagraph(const SourceParagraph& spgh, const Triplet& triplet, const std::string& abi_tag);
BinaryParagraph(const SourceParagraph& spgh, const FeatureParagraph& fpgh, const Triplet& triplet);
2016-09-18 20:50:08 -07:00
std::string displayname() const;
std::string fullstem() const;
std::string dir() const;
bool is_consistent() const;
2017-04-03 14:45:00 -07:00
PackageSpec spec;
2016-09-18 20:50:08 -07:00
std::string version;
std::string description;
std::string maintainer;
2017-07-12 17:40:41 -07:00
std::string feature;
std::vector<std::string> default_features;
2016-09-18 20:50:08 -07:00
std::vector<std::string> depends;
std::string abi;
2019-07-24 14:24:49 -07:00
std::map<fs::path, std::string> external_files;
mutable ConsistencyState consistency = ConsistencyState::UNKNOWN;
2016-09-18 20:50:08 -07:00
};
struct BinaryControlFile
{
BinaryParagraph core_paragraph;
std::vector<BinaryParagraph> features;
};
void serialize(const BinaryParagraph& pgh, std::string& out_str);
}