From 482ad250a4454d993a98488edfe01d7f9dc35de7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20Mr=C3=A1zek?= Date: Sun, 6 Apr 2014 03:59:37 +0200 Subject: Workaround for dirty build folders. My disgust just turned into barely contained rage :< --- BuildConfig.h | 86 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 86 insertions(+) create mode 100644 BuildConfig.h (limited to 'BuildConfig.h') diff --git a/BuildConfig.h b/BuildConfig.h new file mode 100644 index 00000000..baf2ad6d --- /dev/null +++ b/BuildConfig.h @@ -0,0 +1,86 @@ +#pragma once +#include + +/** + * \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 build type, as specified at build time. + QString VERSION_TYPE; + + /// The build type, transformed. + enum Type + { + /// Version type for stable release builds. + Release, + + /// Version type for release candidates. + ReleaseCandidate, + + /// Version type for development builds. + Development, + + /// Version type for custom builds. This is the default when no version type is specified. + Custom + } versionTypeEnum; + + /** + * 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; + + /** + * returns a string representation of the version channel type, suitable for printing. + */ + QString versionTypeName() const; +}; + +extern Config BuildConfig; -- cgit v1.2.3