diff options
| author | Alexander Karatarakis <alkarata@microsoft.com> | 2017-01-31 18:55:14 -0800 |
|---|---|---|
| committer | Alexander Karatarakis <alkarata@microsoft.com> | 2017-02-01 11:42:41 -0800 |
| commit | c595fac0ffb8de45f390ab591fbc76fa12ca0442 (patch) | |
| tree | e311575c9f5bca4a04656f423995ad0c3e49cb33 | |
| parent | cd0b7d644b2ba61618b70ae58f50d2e880dbe509 (diff) | |
| download | vcpkg-c595fac0ffb8de45f390ab591fbc76fa12ca0442.tar.gz vcpkg-c595fac0ffb8de45f390ab591fbc76fa12ca0442.zip | |
Add BuildPolicies::values()
| -rw-r--r-- | toolsrc/include/BuildPolicies.h | 4 | ||||
| -rw-r--r-- | toolsrc/src/BuildPolicies.cpp | 18 |
2 files changed, 15 insertions, 7 deletions
diff --git a/toolsrc/include/BuildPolicies.h b/toolsrc/include/BuildPolicies.h index fbe9b0ff3..8298ffe2d 100644 --- a/toolsrc/include/BuildPolicies.h +++ b/toolsrc/include/BuildPolicies.h @@ -11,7 +11,6 @@ namespace vcpkg::PostBuildLint::BuildPolicies struct type { - static constexpr int length() { return 2; } constexpr explicit type(backing_enum_t backing_enum) : backing_enum(backing_enum) { } constexpr operator backing_enum_t() const { return backing_enum; } @@ -23,6 +22,9 @@ namespace vcpkg::PostBuildLint::BuildPolicies backing_enum_t backing_enum; }; + static constexpr int value_count = 2; + const std::vector<type>& values(); + static constexpr type UNKNOWN(backing_enum_t::UNKNOWN); static constexpr type DLLS_WITHOUT_LIBS(backing_enum_t::DLLS_WITHOUT_LIBS); diff --git a/toolsrc/src/BuildPolicies.cpp b/toolsrc/src/BuildPolicies.cpp index 0f7c3c492..ed0f76c38 100644 --- a/toolsrc/src/BuildPolicies.cpp +++ b/toolsrc/src/BuildPolicies.cpp @@ -26,17 +26,23 @@ namespace vcpkg::PostBuildLint::BuildPolicies switch (this->backing_enum) { - case DLLS_WITHOUT_LIBS: - return CMAKE_VARIABLE_DLLS_WITHOUT_LIBS; - case UNKNOWN: - Checks::exit_with_message("No CMake command corresponds to UNKNOWN"); - default: - Checks::unreachable(); + case DLLS_WITHOUT_LIBS: + return CMAKE_VARIABLE_DLLS_WITHOUT_LIBS; + case UNKNOWN: + Checks::exit_with_message("No CMake command corresponds to UNKNOWN"); + default: + Checks::unreachable(); } } type::type(): backing_enum(backing_enum_t::UNKNOWN) {} + const std::vector<type>& values() + { + static const std::vector<type>& v = {UNKNOWN, DLLS_WITHOUT_LIBS}; + return v; + } + type parse(const std::string& s) { if (s == NAME_DLLS_WITHOUT_LIBS) |
