aboutsummaryrefslogtreecommitdiff
path: root/toolsrc/src
diff options
context:
space:
mode:
authorBilly O'Neal <bion@microsoft.com>2021-01-07 12:51:46 -0800
committerGitHub <noreply@github.com>2021-01-07 12:51:46 -0800
commitd1ef42c0fd7b9d5ac90be74df62b12e1184d02a1 (patch)
treeb99cc8fdf5271bc5b1413ba83cf972dbf1f9ec65 /toolsrc/src
parent9ddc9173d7858ddb40b2fc0cdc73b529c390ba47 (diff)
downloadvcpkg-d1ef42c0fd7b9d5ac90be74df62b12e1184d02a1.tar.gz
vcpkg-d1ef42c0fd7b9d5ac90be74df62b12e1184d02a1.zip
[vcpkg] Restore embedded git hash behind an option. (#15472)
Diffstat (limited to 'toolsrc/src')
-rw-r--r--toolsrc/src/vcpkg/commands.version.cpp20
1 files changed, 9 insertions, 11 deletions
diff --git a/toolsrc/src/vcpkg/commands.version.cpp b/toolsrc/src/vcpkg/commands.version.cpp
index c7e33ee65..e9ce4286d 100644
--- a/toolsrc/src/vcpkg/commands.version.cpp
+++ b/toolsrc/src/vcpkg/commands.version.cpp
@@ -9,12 +9,12 @@
#define STRINGIFY(...) #__VA_ARGS__
#define MACRO_TO_STRING(X) STRINGIFY(X)
-#if defined(VCPKG_VERSION)
-#define VCPKG_VERSION_AS_STRING MACRO_TO_STRING(VCPKG_VERSION)
-#else
-#define VCPKG_VERSION_AS_STRING "-unknownhash"
+#if !defined(VCPKG_VERSION)
+#error VCPKG_VERSION must be defined
#endif
+#define VCPKG_VERSION_AS_STRING MACRO_TO_STRING(VCPKG_VERSION)
+
namespace vcpkg::Commands::Version
{
const char* base_version()
@@ -24,17 +24,15 @@ namespace vcpkg::Commands::Version
;
}
- const std::string& version()
+ const char* version()
{
- static const std::string S_VERSION =
+ return
#include "../VERSION.txt"
-
- +std::string(VCPKG_VERSION_AS_STRING)
+ "-" VCPKG_VERSION_AS_STRING
#ifndef NDEBUG
- + std::string("-debug")
+ "-debug"
#endif
;
- return S_VERSION;
}
static int scan3(const char* input, const char* pattern, int* a, int* b, int* c)
@@ -55,7 +53,7 @@ namespace vcpkg::Commands::Version
const auto num1 = scan3(version_contents->c_str(), "\"%d.%d.%d\"", &maj1, &min1, &rev1);
int maj2, min2, rev2;
- const auto num2 = scan3(Version::version().c_str(), "%d.%d.%d-", &maj2, &min2, &rev2);
+ const auto num2 = scan3(Version::version(), "%d.%d.%d-", &maj2, &min2, &rev2);
if (num1 == 3 && num2 == 3)
{