aboutsummaryrefslogtreecommitdiff
path: root/toolsrc/include/PostBuildLint_BuildPolicies.h
diff options
context:
space:
mode:
Diffstat (limited to 'toolsrc/include/PostBuildLint_BuildPolicies.h')
-rw-r--r--toolsrc/include/PostBuildLint_BuildPolicies.h35
1 files changed, 35 insertions, 0 deletions
diff --git a/toolsrc/include/PostBuildLint_BuildPolicies.h b/toolsrc/include/PostBuildLint_BuildPolicies.h
new file mode 100644
index 000000000..187ba6d64
--- /dev/null
+++ b/toolsrc/include/PostBuildLint_BuildPolicies.h
@@ -0,0 +1,35 @@
+#pragma once
+#include <string>
+
+namespace vcpkg::PostBuildLint::BuildPolicies
+{
+ enum class backing_enum_t
+ {
+ UNKNOWN = 0,
+ EMPTY_PACKAGE,
+ DLLS_WITHOUT_LIBS
+ };
+
+ struct type
+ {
+ constexpr explicit type(backing_enum_t backing_enum) : backing_enum(backing_enum) { }
+ constexpr operator backing_enum_t() const { return backing_enum; }
+
+ const std::string& toString() const;
+ const std::string& cmake_variable() const;
+
+ private:
+ type();
+ backing_enum_t backing_enum;
+ };
+
+ static constexpr int value_count = 3;
+ const std::vector<type>& values();
+
+
+ static constexpr type UNKNOWN(backing_enum_t::UNKNOWN);
+ static constexpr type EMPTY_PACKAGE(backing_enum_t::EMPTY_PACKAGE);
+ static constexpr type DLLS_WITHOUT_LIBS(backing_enum_t::DLLS_WITHOUT_LIBS);
+
+ type parse(const std::string& s);
+}