summaryrefslogtreecommitdiffstats
path: root/application/BuildConfig.h
blob: 1c9466bae89a64a43b6cce9839b1af0009f3c5f8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
#pragma once
#include <QString>

/**
 * \brief The Config class holds all the build-time information passed from the build system.
 */
class Config
{
public:
	Config();
	/// The major version number.
	int VERSION_MAJOR;
	/// The minor version number.
	int VERSION_MINOR;
	/// The hotfix number.
	int VERSION_HOTFIX;
	/// The build number.
	int VERSION_BUILD;

	/**
	 * The version channel
	 * This is used by the updater to determine what channel the current version came from.
	 */
	QString VERSION_CHANNEL;

	bool UPDATER_ENABLED = false;

	/// A short string identifying this build's platform. For example, "lin64" or "win32".
	QString BUILD_PLATFORM;

	/// URL for the updater's channel
	QString CHANLIST_URL;

	/// Google analytics ID
	QString ANALYTICS_ID;

	/// URL for notifications
	QString NOTIFICATION_URL;

	/// Used for matching notifications
	QString FULL_VERSION_STR;

	/// The git commit hash of this build
	QString GIT_COMMIT;

	/// The git refspec of this build
	QString GIT_REFSPEC;

	/// This is printed on start to standard output
	QString VERSION_STR;

	/**
	 * This is used to fetch the news RSS feed.
	 * It defaults in CMakeLists.txt to "http://multimc.org/rss.xml"
	 */
	QString NEWS_RSS_URL;

	/**
	 * API key you can get from paste.ee when you register an account
	 */
	QString PASTE_EE_KEY;

	/**
	 * \brief Converts the Version to a string.
	 * \return The version number in string format (major.minor.revision.build).
	 */
	QString printableVersionString() const;
};

extern Config BuildConfig;