summaryrefslogtreecommitdiffstats
path: root/application/BuildConfig.h
diff options
context:
space:
mode:
Diffstat (limited to 'application/BuildConfig.h')
-rw-r--r--application/BuildConfig.h63
1 files changed, 63 insertions, 0 deletions
diff --git a/application/BuildConfig.h b/application/BuildConfig.h
new file mode 100644
index 00000000..60aefeb4
--- /dev/null
+++ b/application/BuildConfig.h
@@ -0,0 +1,63 @@
+#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;
+
+ /// 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;
+
+ /// URL for notifications
+ QString NOTIFICATION_URL;
+
+ /// Used for matching notifications
+ QString FULL_VERSION_STR;
+
+ /// enabled for updater dry run
+ bool UPDATER_DRY_RUN;
+
+ /// enabled for updater dry run
+ bool UPDATER_FORCE_LOCAL;
+
+ /// The commit hash of this build
+ QString GIT_COMMIT;
+
+ /// 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;
+
+ /**
+ * \brief Converts the Version to a string.
+ * \return The version number in string format (major.minor.revision.build).
+ */
+ QString printableVersionString() const;
+};
+
+extern Config BuildConfig;