mirror of
https://github.com/OpenRCT2/OpenRCT2
synced 2025-12-21 06:43:04 +01:00
build the version string at compile time
This commit is contained in:
committed by
Michał Janiszewski
parent
fde3c8a3ed
commit
2ac8c9bad3
@@ -101,7 +101,7 @@ extern "C"
|
||||
{
|
||||
void openrct2_write_full_version_info(utf8 * buffer, size_t bufferSize)
|
||||
{
|
||||
String::Set(buffer, bufferSize, Version::GetInfo().c_str());
|
||||
String::Set(buffer, bufferSize, gVersionInfoFull);
|
||||
}
|
||||
|
||||
static void openrct2_set_exe_path()
|
||||
|
||||
@@ -23,63 +23,47 @@
|
||||
#endif
|
||||
|
||||
#ifdef OPENRCT2_BUILD_NUMBER
|
||||
const char *gBuildNumber = OPENRCT2_BUILD_NUMBER;
|
||||
const char gBuildNumber[] = OPENRCT2_BUILD_NUMBER;
|
||||
#else
|
||||
const char *gBuildNumber = "";
|
||||
const char gBuildNumber[] = "";
|
||||
#endif
|
||||
|
||||
#ifdef OPENRCT2_BUILD_SERVER
|
||||
const char *gBuildServer = OPENRCT2_BUILD_SERVER;
|
||||
const char gBuildServer[] = OPENRCT2_BUILD_SERVER;
|
||||
#else
|
||||
const char *gBuildServer = "";
|
||||
const char gBuildServer[] = "";
|
||||
#endif
|
||||
|
||||
#ifdef OPENRCT2_BRANCH
|
||||
const char *gGitBranch = OPENRCT2_BRANCH;
|
||||
const char gGitBranch[] = OPENRCT2_BRANCH;
|
||||
#else
|
||||
const char *gGitBranch = "";
|
||||
const char gGitBranch[] = "";
|
||||
#endif
|
||||
|
||||
#ifdef OPENRCT2_COMMIT_SHA1
|
||||
const char *gCommitSha1 = OPENRCT2_COMMIT_SHA1;
|
||||
const char gCommitSha1[] = OPENRCT2_COMMIT_SHA1;
|
||||
#else
|
||||
const char *gCommitSha1 = "";
|
||||
const char gCommitSha1[] = "";
|
||||
#endif
|
||||
|
||||
#ifdef OPENRCT2_COMMIT_SHA1_SHORT
|
||||
const char *gCommitSha1Short = OPENRCT2_COMMIT_SHA1_SHORT;
|
||||
const char gCommitSha1Short[] = OPENRCT2_COMMIT_SHA1_SHORT;
|
||||
#else
|
||||
const char *gCommitSha1Short = "";
|
||||
const char gCommitSha1Short[] = "";
|
||||
#endif
|
||||
|
||||
namespace Version
|
||||
{
|
||||
static std::string _info;
|
||||
|
||||
std::string GetInfo()
|
||||
{
|
||||
if (_info.empty())
|
||||
{
|
||||
utf8 buffer[256];
|
||||
size_t bufferSize = sizeof(buffer);
|
||||
String::Set(buffer, bufferSize, OPENRCT2_NAME ", v" OPENRCT2_VERSION);
|
||||
if (!String::IsNullOrEmpty(gGitBranch))
|
||||
{
|
||||
String::AppendFormat(buffer, bufferSize, "-%s", gGitBranch);
|
||||
}
|
||||
if (!String::IsNullOrEmpty(gCommitSha1Short))
|
||||
{
|
||||
String::AppendFormat(buffer, bufferSize, " build %s", gCommitSha1Short);
|
||||
}
|
||||
if (!String::IsNullOrEmpty(gBuildServer))
|
||||
{
|
||||
String::AppendFormat(buffer, bufferSize, " provided by %s", gBuildServer);
|
||||
}
|
||||
const char gVersionInfoFull[] =
|
||||
OPENRCT2_NAME ", v" OPENRCT2_VERSION
|
||||
#ifdef OPENRCT2_BRANCH
|
||||
"-" OPENRCT2_BRANCH
|
||||
#endif
|
||||
#ifdef OPENRCT2_COMMIT_SHA1_SHORT
|
||||
" build " OPENRCT2_COMMIT_SHA1_SHORT
|
||||
#endif
|
||||
#ifdef OPENRCT2_BUILD_SERVER
|
||||
" provided by " OPENRCT2_BUILD_SERVER
|
||||
#endif
|
||||
#ifdef DEBUG
|
||||
String::AppendFormat(buffer, bufferSize, " (DEBUG)", gBuildServer);
|
||||
" (DEBUG)"
|
||||
#endif
|
||||
_info = std::string(buffer);
|
||||
}
|
||||
return _info;
|
||||
}
|
||||
}
|
||||
;
|
||||
|
||||
@@ -61,21 +61,12 @@ extern "C"
|
||||
{
|
||||
#endif
|
||||
// The following constants are for automated build servers
|
||||
extern const char *gBuildNumber;
|
||||
extern const char *gBuildServer;
|
||||
extern const char *gGitBranch;
|
||||
extern const char *gCommitSha1;
|
||||
extern const char *gCommitSha1Short;
|
||||
extern const char gBuildNumber[];
|
||||
extern const char gBuildServer[];
|
||||
extern const char gGitBranch[];
|
||||
extern const char gCommitSha1[];
|
||||
extern const char gCommitSha1Short[];
|
||||
extern const char gVersionInfoFull[];
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
||||
#include <string>
|
||||
|
||||
namespace Version
|
||||
{
|
||||
std::string GetInfo();
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -85,7 +85,7 @@ namespace Guard
|
||||
if (expression) return;
|
||||
|
||||
Console::Error::WriteLine(ASSERTION_MESSAGE);
|
||||
Console::Error::WriteLine("Version: %s", Version::GetInfo().c_str());
|
||||
Console::Error::WriteLine("Version: %s", gVersionInfoFull);
|
||||
|
||||
// This is never freed, but acceptable considering we are about to crash out
|
||||
utf8 * formattedMessage = nullptr;
|
||||
@@ -143,7 +143,7 @@ namespace Guard
|
||||
String::Set(buffer, bufferSize, ASSERTION_MESSAGE);
|
||||
String::Append(buffer, bufferSize, "\r\n\r\n");
|
||||
String::Append(buffer, bufferSize, "Version: ");
|
||||
String::Append(buffer, bufferSize, Version::GetInfo().c_str());
|
||||
String::Append(buffer, bufferSize, gVersionInfoFull);
|
||||
if (formattedMessage != nullptr)
|
||||
{
|
||||
String::Append(buffer, bufferSize, "\r\n");
|
||||
|
||||
Reference in New Issue
Block a user