summaryrefslogtreecommitdiffstats
path: root/BuildConfig.cpp.in
diff options
context:
space:
mode:
authorPetr Mrázek <peterix@gmail.com>2014-04-06 03:59:37 +0200
committerPetr Mrázek <peterix@gmail.com>2014-04-06 03:59:37 +0200
commit482ad250a4454d993a98488edfe01d7f9dc35de7 (patch)
treef18d785ed4f33efbb6e925cbca7b4f30a306290c /BuildConfig.cpp.in
parentf9169654c57d56a900157bbbf6ceab60fac1f800 (diff)
downloadMultiMC-482ad250a4454d993a98488edfe01d7f9dc35de7.tar
MultiMC-482ad250a4454d993a98488edfe01d7f9dc35de7.tar.gz
MultiMC-482ad250a4454d993a98488edfe01d7f9dc35de7.tar.lz
MultiMC-482ad250a4454d993a98488edfe01d7f9dc35de7.tar.xz
MultiMC-482ad250a4454d993a98488edfe01d7f9dc35de7.zip
Workaround for dirty build folders.
My disgust just turned into barely contained rage :<
Diffstat (limited to 'BuildConfig.cpp.in')
-rw-r--r--BuildConfig.cpp.in63
1 files changed, 63 insertions, 0 deletions
diff --git a/BuildConfig.cpp.in b/BuildConfig.cpp.in
new file mode 100644
index 00000000..1ea07374
--- /dev/null
+++ b/BuildConfig.cpp.in
@@ -0,0 +1,63 @@
+#include "BuildConfig.h"
+
+Config BuildConfig;
+
+Config::Config()
+{
+ // Version information
+ VERSION_MAJOR = @MultiMC_VERSION_MAJOR@;
+ VERSION_MINOR = @MultiMC_VERSION_MINOR@;
+ VERSION_HOTFIX = @MultiMC_VERSION_HOTFIX@;
+ VERSION_BUILD = @MultiMC_VERSION_BUILD@;
+ VERSION_TYPE = "@MultiMC_VERSION_TYPE@";
+
+ if(VERSION_TYPE == "Release")
+ versionTypeEnum = Release;
+ else if(VERSION_TYPE == "ReleaseCandidate")
+ versionTypeEnum = ReleaseCandidate;
+ else if(VERSION_TYPE == "Development")
+ versionTypeEnum = Development;
+ else
+ versionTypeEnum = Custom;
+ VERSION_CHANNEL = "@MultiMC_VERSION_CHANNEL@";
+ BUILD_PLATFORM = "@MultiMC_BUILD_PLATFORM@";
+ CHANLIST_URL = "@MultiMC_CHANLIST_URL@";
+ NOTIFICATION_URL = "@MultiMC_NOTIFICATION_URL@";
+ FULL_VERSION_STR = "@MultiMC_VERSION_MAJOR@.@MultiMC_VERSION_MINOR@.@MultiMC_VERSION_BUILD@";
+
+ UPDATER_DRY_RUN = @MultiMC_UPDATER_DRY_RUN_value@;
+ UPDATER_FORCE_LOCAL = @MultiMC_UPDATER_FORCE_LOCAL_value@;
+
+ GIT_COMMIT = "@MultiMC_GIT_COMMIT@";
+ VERSION_STR = "@MultiMC_VERSION_STRING@";
+ NEWS_RSS_URL = "@MultiMC_NEWS_RSS_URL@";
+}
+
+QString Config::versionTypeName() const
+{
+ switch (versionTypeEnum)
+ {
+ case Release:
+ return "Stable Release";
+ case ReleaseCandidate:
+ return "Release Candidate";
+ case Development:
+ return "Development";
+ case Custom:
+ default:
+ return "Custom";
+ }
+}
+
+QString Config::printableVersionString() const
+{
+ QString vstr = QString("%1.%2").arg(QString::number(VERSION_MAJOR), QString::number(VERSION_MINOR));
+
+ if (VERSION_HOTFIX > 0) vstr += "." + QString::number(VERSION_HOTFIX);
+
+ // If the build is a development build or release candidate, add that info to the end.
+ if (versionTypeEnum == Development) vstr += "-dev" + QString::number(VERSION_BUILD);
+ else if (versionTypeEnum == ReleaseCandidate) vstr += "-rc" + QString::number(VERSION_BUILD);
+
+ return vstr;
+}