Define Git and date constants in executables only (#4681)

This commit is contained in:
nerix
2023-06-17 19:43:39 +02:00
committed by GitHub
parent aff9342647
commit 4b40b9a310
7 changed files with 78 additions and 43 deletions
+3 -2
View File
@@ -184,8 +184,9 @@ void NetworkRequest::execute()
void NetworkRequest::initializeDefaultValues()
{
const auto userAgent = QString("chatterino/%1 (%2)")
.arg(CHATTERINO_VERSION, CHATTERINO_GIT_HASH)
const auto userAgent = QStringLiteral("chatterino/%1 (%2)")
.arg(Version::instance().version(),
Version::instance().commitHash())
.toUtf8();
this->data->request_.setRawHeader("User-Agent", userAgent);
+4 -17
View File
@@ -4,27 +4,14 @@
#include <QFileInfo>
#define UGLYMACROHACK1(s) #s
#define FROM_EXTERNAL_DEFINE(s) UGLYMACROHACK1(s)
namespace chatterino {
Version::Version()
: version_(CHATTERINO_VERSION)
, commitHash_(QStringLiteral(CHATTERINO_GIT_HASH))
, isModified_(CHATTERINO_GIT_MODIFIED == 1)
, dateOfBuild_(QStringLiteral(CHATTERINO_CMAKE_GEN_DATE))
{
this->version_ = CHATTERINO_VERSION;
this->commitHash_ =
QString(FROM_EXTERNAL_DEFINE(CHATTERINO_GIT_HASH)).remove('"');
#ifdef CHATTERINO_GIT_MODIFIED
this->isModified_ = true;
#endif
#ifdef CHATTERINO_CMAKE_GEN_DATE
this->dateOfBuild_ =
QString(FROM_EXTERNAL_DEFINE(CHATTERINO_CMAKE_GEN_DATE)).remove('"');
#endif
this->fullVersion_ = "Chatterino ";
if (Modes::instance().isNightly)
{
+34
View File
@@ -38,8 +38,42 @@
# define CHATTERINO_OS "unknown"
#endif
#define CHATTERINO_DECLARE_BUILD_CONSTANTS() \
namespace chatterino::detail::version { \
QString gitHash() \
{ \
return QStringLiteral(CHATTERINO_GIT_HASH); \
} \
QString gitRelease() \
{ \
return QStringLiteral(CHATTERINO_GIT_RELEASE); \
} \
QString gitCommit() \
{ \
return QStringLiteral(CHATTERINO_GIT_COMMIT); \
} \
bool gitModified() \
{ \
return CHATTERINO_GIT_MODIFIED == 1; \
} \
QString cmakeGenDate() \
{ \
return QStringLiteral(CHATTERINO_CMAKE_GEN_DATE); \
} \
} // namespace chatterino::detail::version
namespace chatterino {
namespace detail::version {
extern QString gitHash();
extern QString gitRelease();
extern QString gitCommit();
extern bool gitModified();
extern QString cmakeGenDate();
} // namespace detail::version
class Version
{
public: