#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@"; GIT_COMMIT_CSTR = "@MultiMC_GIT_COMMIT@"; VERSION_STR = "@MultiMC_VERSION_STRING@"; VERSION_CSTR = "@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; }