vcpkg/toolsrc/include/BinaryParagraph.h

41 lines
1.1 KiB
C
Raw Normal View History

2016-09-19 11:50:08 +08:00
#pragma once
2017-04-04 05:45:00 +08:00
#include "PackageSpec.h"
#include "SourceParagraph.h"
#include <unordered_map>
2016-09-19 11:50:08 +08:00
namespace vcpkg
{
2017-05-25 06:54:12 +08:00
/// <summary>
/// Built package metadata
/// </summary>
2016-09-19 11:50:08 +08:00
struct BinaryParagraph
{
BinaryParagraph();
explicit BinaryParagraph(std::unordered_map<std::string, std::string> fields);
BinaryParagraph(const SourceParagraph& spgh, const Triplet& triplet);
BinaryParagraph(const SourceParagraph& spgh, const FeatureParagraph& fpgh, const Triplet& triplet);
2016-09-19 11:50:08 +08:00
std::string displayname() const;
std::string fullstem() const;
std::string dir() const;
2017-04-04 05:45:00 +08:00
PackageSpec spec;
2016-09-19 11:50:08 +08:00
std::string version;
std::string description;
std::string maintainer;
2017-07-13 08:40:41 +08:00
std::string feature;
std::vector<std::string> default_features;
2016-09-19 11:50:08 +08:00
std::vector<std::string> depends;
};
struct BinaryControlFile
{
BinaryParagraph core_paragraph;
std::vector<BinaryParagraph> features;
};
void serialize(const BinaryParagraph& pgh, std::string& out_str);
2017-07-13 08:40:41 +08:00
}