diff options
Diffstat (limited to 'toolsrc/include')
| -rw-r--r-- | toolsrc/include/BuildInfo.h | 25 |
1 files changed, 21 insertions, 4 deletions
diff --git a/toolsrc/include/BuildInfo.h b/toolsrc/include/BuildInfo.h index 870001474..235c83837 100644 --- a/toolsrc/include/BuildInfo.h +++ b/toolsrc/include/BuildInfo.h @@ -2,6 +2,7 @@ #include <unordered_map> #include "Paragraphs.h" +#include <regex> namespace fs = std::tr2::sys; @@ -35,17 +36,33 @@ namespace vcpkg static const BuildType RELEASE_STATIC; static const BuildType RELEASE_DYNAMIC; - const ConfigurationType config; - const LinkageType linkage; + static constexpr int length() + { + return 4; + } + + static const std::vector<BuildType>& values() + { + static const std::vector<BuildType> v = {DEBUG_STATIC, DEBUG_DYNAMIC, RELEASE_STATIC, RELEASE_DYNAMIC}; + return v; + } BuildType() = delete; - std::string toString() const; + const ConfigurationType& config() const; + const LinkageType& linkage() const; + const std::regex& crt_regex() const; + const std::string& toString() const; private: - BuildType(const ConfigurationType& config, const LinkageType& linkage) : config(config), linkage(linkage) + BuildType(const ConfigurationType& config, const LinkageType& linkage, const std::string& crt_regex_as_string) + : m_config(config), m_linkage(linkage), m_crt_regex_as_string(crt_regex_as_string) { } + + ConfigurationType m_config; + LinkageType m_linkage; + std::string m_crt_regex_as_string; }; bool operator ==(const BuildType& lhs, const BuildType& rhs); |
