diff --git a/cmake/scripts/FindVersion.cmake b/cmake/scripts/FindVersion.cmake index 09fc3ed29a..bd853cec51 100644 --- a/cmake/scripts/FindVersion.cmake +++ b/cmake/scripts/FindVersion.cmake @@ -104,6 +104,16 @@ if(GIT_FOUND AND EXISTS "${CMAKE_SOURCE_DIR}/.git") set(REV_ISSTABLETAG 0) endif() + if(EXISTS "${CMAKE_SOURCE_DIR}/.ottdrev-vc") + file(READ "${CMAKE_SOURCE_DIR}/.ottdrev-vc" OTTDREVVC) + string(REPLACE "\n" ";" OTTDREVVC "${OTTDREVVC}") + list(GET OTTDREVVC 0 OTTDREV) + string(REPLACE "\t" ";" OTTDREV "${OTTDREV}") + list(GET OTTDREV 0 REV_RELEASE) + else() + set(REV_RELEASE "jgrpp-0.0") + endif() + # Restore LC_ALL set(ENV{LC_ALL} "${SAVED_LC_ALL}") elseif(EXISTS "${CMAKE_SOURCE_DIR}/.ottdrev-vc") @@ -113,6 +123,7 @@ elseif(EXISTS "${CMAKE_SOURCE_DIR}/.ottdrev-vc") list(GET OTTDREVVC 1 SRCHASH) string(REPLACE "\t" ";" OTTDREV "${OTTDREV}") list(GET OTTDREV 0 REV_VERSION) + list(GET OTTDREV 0 REV_RELEASE) list(GET OTTDREV 1 REV_ISODATE) list(GET OTTDREV 2 REV_MODIFIED) list(GET OTTDREV 3 REV_HASH) @@ -152,9 +163,11 @@ elseif(EXISTS "${CMAKE_SOURCE_DIR}/.ottdrev") list(GET OTTDREV 4 REV_ISTAG) list(GET OTTDREV 5 REV_ISSTABLETAG) list(GET OTTDREV 6 REV_YEAR) + set(REV_RELEASE "jgrpp-0.0") else() message(WARNING "No version detected; this build will NOT be network compatible") set(REV_VERSION "norev0000") + set(REV_RELEASE "jgrpp-0.0") set(REV_ISODATE "19700101") set(REV_MODIFIED 1) set(REV_HASH "unknown") @@ -163,7 +176,10 @@ else() set(REV_YEAR "1970") endif() -message(STATUS "Version string: ${REV_VERSION}") +string(REGEX MATCH "^jgrpp-[0-9]+(\.[0-9]+)?(\.[0-9]+)?" REV_RELEASE "${REV_RELEASE}") +string(REPLACE "jgrpp-" "" REV_RELEASE "${REV_RELEASE}") + +message(STATUS "Version string: ${REV_VERSION}, Release: ${REV_RELEASE}") if(GENERATE_OTTDREV) message(STATUS "Generating ${GENERATE_OTTDREV}") diff --git a/src/crashlog.cpp b/src/crashlog.cpp index 14470fb409..16ae1245e5 100644 --- a/src/crashlog.cpp +++ b/src/crashlog.cpp @@ -140,15 +140,17 @@ char *CrashLog::LogOpenTTDVersion(char *buffer, const char *last) const { return buffer + seprintf(buffer, last, "OpenTTD version:\n" - " Version: %s (%d)\n" - " NewGRF ver: %08x\n" - " Bits: %d\n" - " Endian: %s\n" - " Dedicated: %s\n" - " Build date: %s\n" - " Defines: %s\n\n", + " Version: %s (%d)\n" + " Release ver: %s\n" + " NewGRF ver: %08x\n" + " Bits: %d\n" + " Endian: %s\n" + " Dedicated: %s\n" + " Build date: %s\n" + " Defines: %s\n\n", _openttd_revision, _openttd_revision_modified, + _openttd_release_version, _openttd_newgrf_version, #ifdef _SQ64 64, diff --git a/src/rev.cpp.in b/src/rev.cpp.in index bc0dc264e9..0049c21f8f 100644 --- a/src/rev.cpp.in +++ b/src/rev.cpp.in @@ -37,6 +37,8 @@ bool IsReleasedVersion() */ const char _openttd_revision[] = "${REV_VERSION}"; +const char _openttd_release_version[] = "${REV_RELEASE}"; + /** * The text version of OpenTTD's build date. * Updating the build date in this file is the safest as it generally gets diff --git a/src/rev.h b/src/rev.h index 26af163527..dd2674f025 100644 --- a/src/rev.h +++ b/src/rev.h @@ -11,6 +11,7 @@ #define REV_H extern const char _openttd_revision[]; +extern const char _openttd_release_version[]; extern const char _openttd_build_date[]; extern const char _openttd_revision_hash[]; extern const char _openttd_revision_year[];