buildFeature.hpp
Go to the documentation of this file.
1
2#pragma once
3
4#include "indep/common.hpp"
5#include "indep/macro.hpp"
6
7namespace by {
12 class _nout buildFeature {
13 BY_ME(buildFeature)
14
15 public:
19 struct _nout date {
20 BY_ME(date)
21
22 public:
23 static const std::string& get();
24 static nint getYear();
25 static nint getMonth();
26 static nint getDay();
27 };
28
32 struct _nout time {
33 BY_ME(time)
34
35 public:
36 static const std::string& get();
37 static nint getHour();
38 static nint getMin();
39 static nint getSec();
40 };
41
45 struct _nout version {
46 BY_ME(version)
47
48 public:
49 static const std::string& get();
50 static const std::string& getValue();
51 static const std::string& getName();
52 static nint getMajor();
53 static nint getMinor();
54 static nint getFix();
55 };
56
57 enum platformType {
58 PLATFORM_TYPE_START = -1,
59 WINDOW,
60 LINUX,
61 MACOS,
62 OTHERS,
63 PLATFORM_TYPE_END,
64 };
65
69 struct _nout platform {
70 BY_ME(platform)
71
72 public:
73 static platformType get();
74 static const std::string& getName();
75 static const std::string& getVersion();
76 };
77
78 enum buildType {
79 BUILD_TYPE_START = -1,
80 DEBUG,
81 RELEASE,
82 BUILD_TYPE_END,
83 };
84
88 struct _nout config {
89 BY_ME(config)
90
91 public:
92 static buildType get();
93 static nbool isDbg();
94 static const std::string& getName();
95 };
96 };
97} // namespace by
Provides build-time information and feature detection.
Definition: buildFeature.hpp:12
Build configuration information.
Definition: buildFeature.hpp:88
Build date information.
Definition: buildFeature.hpp:19
Platform information.
Definition: buildFeature.hpp:69
Build time information.
Definition: buildFeature.hpp:32
Version information.
Definition: buildFeature.hpp:45