μHAL (v2.8.22)
Part of the IPbus software repository
Loading...
Searching...
No Matches
version.cpp
Go to the documentation of this file.
1
2
3#include "uhal/version.hpp"
4
5
6// Copied from SWATCH
7namespace {
8
9uhal::PackageInfo createPackageInfo()
10{
12 PackageInfo lInfo;
13
14 lInfo.version.major = __PROJECT_VERSION_MAJOR__;
15 lInfo.version.minor = __PROJECT_VERSION_MINOR__;
16 lInfo.version.patch = __PROJECT_VERSION_PATCH__;
17
18#if __IN_GIT_REPO__
19 lInfo.vcs = PackageInfo::Git();
20 lInfo.vcs->sha = "__GIT_SHA__";
21 lInfo.vcs->clean = __GIT_IS_REPO_CLEAN__;
22
23#if __GIT_IS_BRANCH_CHECKED_OUT__
24 lInfo.vcs->ref = std::pair<PackageInfo::Git::RefType, std::string>(PackageInfo::Git::kBranch, "__GIT_BRANCH_NAME__");
25#endif
26
27#if __GIT_IS_TAG_CHECKED_OUT__
28 lInfo.vcs->ref = std::pair<PackageInfo::Git::RefType, std::string>(PackageInfo::Git::kTag, "__GIT_TAG_NAME__");
29#endif
30
31#endif
32
33#if __IN_GITLAB_CI_JOB__
34 PackageInfo::GitLabBuild lBuild;
35 lBuild.serverURL = "__CI_SERVER_URL__";
36 lBuild.projectPath = "__CI_PROJECT_PATH__";
37 lBuild.projectID = __CI_PROJECT_ID__;
38 lBuild.pipelineID = __CI_PIPELINE_ID__;
39 lBuild.jobID = __CI_JOB_ID__;
40#else
41 PackageInfo::LocalBuild lBuild;
42 lBuild.hostname = "__LOCAL_BUILD_HOSTNAME__";
43 lBuild.username = "__LOCAL_BUILD_USERNAME__";
44#endif
45 lBuild.epochTime = __BUILDTIME_SECONDS_SINCE_EPOCH__;
46 lInfo.build = lBuild;
47
48 return lInfo;
49}
50
51const uhal::PackageInfo kPackageInfo = createPackageInfo();
52
53} // namespace (unnamed)
54
55
56namespace uhal {
57
59{
60 return kPackageInfo.version;
61}
62
63
65{
66 return kPackageInfo;
67}
68
69} // namespace uhal
const PackageInfo & getPackageInfo()
Definition: version.cpp:64
const PackageInfo::Version & getVersion()
Definition: version.cpp:58
Version version
Definition: version.hpp:58