summaryrefslogtreecommitdiff
path: root/src/buildtool/main/version.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/buildtool/main/version.cpp')
-rw-r--r--src/buildtool/main/version.cpp22
1 files changed, 22 insertions, 0 deletions
diff --git a/src/buildtool/main/version.cpp b/src/buildtool/main/version.cpp
new file mode 100644
index 00000000..3bd37f2a
--- /dev/null
+++ b/src/buildtool/main/version.cpp
@@ -0,0 +1,22 @@
+#include "src/buildtool/main/version.hpp"
+
+#include "nlohmann/json.hpp"
+#include "src/utils/cpp/json.hpp"
+
+auto version() -> std::string {
+ std::size_t major = 0;
+ std::size_t minor = 1;
+ std::size_t revision = 0;
+ std::string suffix = "+devel";
+
+ nlohmann::json version_info = {{"version", {major, minor, revision}},
+ {"suffix", suffix}};
+
+#ifdef SOURCE_DATE_EPOCH
+ version_info["SOURCE_DATE_EPOCH"] = (std::size_t)SOURCE_DATE_EPOCH;
+#else
+ version_info["SOURCE_DATE_EPOCH"] = nullptr;
+#endif
+
+ return IndentOnlyUntilDepth(version_info, 2, 1, {});
+}