mirror-chatterino2/src/common/Version.cpp

64 lines
1.3 KiB
C++
Raw Normal View History

#include "common/Version.hpp"
#include "common/Modes.hpp"
#define UGLYMACROHACK1(s) #s
#define FROM_EXTERNAL_DEFINE(s) UGLYMACROHACK1(s)
namespace chatterino {
Version::Version()
{
// Version
this->version_ = CHATTERINO_VERSION;
// Commit hash
this->commitHash_ =
QString(FROM_EXTERNAL_DEFINE(CHATTERINO_GIT_HASH)).remove('"');
// Date of build, this is depended on the format not changing
#ifdef CHATTERINO_NIGHTLY_VERSION_STRING
this->dateOfBuild_ =
QString(FROM_EXTERNAL_DEFINE(CHATTERINO_NIGHTLY_VERSION_STRING))
2019-09-22 16:59:51 +02:00
.remove('"')
.split(' ')[0];
#endif
// "Full" version string, as displayed in window title
this->fullVersion_ = "Chatterino ";
if (Modes::getInstance().isNightly)
{
this->fullVersion_ += "Nightly ";
}
this->fullVersion_ += this->version_;
}
const Version &Version::getInstance()
{
static Version instance;
return instance;
}
const QString &Version::version() const
{
return this->version_;
}
const QString &Version::fullVersion() const
{
return this->fullVersion_;
}
const QString &Version::commitHash() const
{
return this->commitHash_;
}
const QString &Version::dateOfBuild() const
{
return this->dateOfBuild_;
}
} // namespace chatterino