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