summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLoïc Guilloux <glx22@users.noreply.github.com>2021-04-20 21:38:46 +0200
committerGitHub <noreply@github.com>2021-04-20 21:38:46 +0200
commitd4f0b6f434911840e2762f89ca0de460f38133f9 (patch)
tree2cedadbe1e0a9ad7d8f9b1d0004dac4feb1f16a0
parentfe3cd185d7a00d116e0ff06d24b3ac369b297a0e (diff)
downloadopenttd-d4f0b6f434911840e2762f89ca0de460f38133f9.tar.xz
Fix: [CMake] Auto-fill version details in rev.cpp and ottres.rc (#9066)
-rw-r--r--CMakeLists.txt7
-rw-r--r--cmake/scripts/FindVersion.cmake10
-rw-r--r--src/os/windows/ottdres.rc.in4
-rw-r--r--src/rev.cpp.in2
4 files changed, 19 insertions, 4 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 63a0ce2fe..87d055047 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -4,7 +4,9 @@ if(NOT BINARY_NAME)
set(BINARY_NAME openttd)
endif()
-project(${BINARY_NAME})
+project(${BINARY_NAME}
+ VERSION 1.12.0
+)
if(CMAKE_SOURCE_DIR STREQUAL CMAKE_BINARY_DIR)
message(FATAL_ERROR "In-source builds not allowed. Please run \"cmake ..\" from the build directory. You may need to delete \"${CMAKE_SOURCE_DIR}/CMakeCache.txt\" first.")
@@ -72,6 +74,9 @@ add_custom_target(find_version
${CMAKE_COMMAND}
-DFIND_VERSION_BINARY_DIR=${CMAKE_BINARY_DIR}/generated
-DCPACK_BINARY_DIR=${CMAKE_BINARY_DIR}
+ -DREV_MAJOR=${CMAKE_PROJECT_VERSION_MAJOR}
+ -DREV_MINOR=${CMAKE_PROJECT_VERSION_MINOR}
+ -DREV_BUILD=${CMAKE_PROJECT_VERSION_PATCH}
-P "${CMAKE_SOURCE_DIR}/cmake/scripts/FindVersion.cmake"
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
BYPRODUCTS ${GENERATED_SOURCE_FILES}
diff --git a/cmake/scripts/FindVersion.cmake b/cmake/scripts/FindVersion.cmake
index ebbe58244..6e4a2b390 100644
--- a/cmake/scripts/FindVersion.cmake
+++ b/cmake/scripts/FindVersion.cmake
@@ -1,5 +1,15 @@
cmake_minimum_required(VERSION 3.5)
+if(NOT REV_MAJOR)
+ set(REV_MAJOR 0)
+endif()
+if(NOT REV_MINOR)
+ set(REV_MINOR 0)
+endif()
+if(NOT REV_BUILD)
+ set(REV_BUILD 0)
+endif()
+
#
# Finds the current version of the current folder.
#
diff --git a/src/os/windows/ottdres.rc.in b/src/os/windows/ottdres.rc.in
index 741fa0e10..31309382c 100644
--- a/src/os/windows/ottdres.rc.in
+++ b/src/os/windows/ottdres.rc.in
@@ -77,8 +77,8 @@ END
//
VS_VERSION_INFO VERSIONINFO
- FILEVERSION 1,11,0,${REV_ISODATE}
- PRODUCTVERSION 1,11,0,${REV_ISODATE}
+ FILEVERSION ${REV_MAJOR},${REV_MINOR},${REV_BUILD},${REV_ISODATE}
+ PRODUCTVERSION ${REV_MAJOR},${REV_MINOR},${REV_BUILD},${REV_ISODATE}
FILEFLAGSMASK 0x3fL
#ifdef _DEBUG
FILEFLAGS 0x1L
diff --git a/src/rev.cpp.in b/src/rev.cpp.in
index 208588a71..3939ca5a0 100644
--- a/src/rev.cpp.in
+++ b/src/rev.cpp.in
@@ -85,4 +85,4 @@ const byte _openttd_revision_tagged = ${REV_ISTAG};
* final release will always have a lower version number than the released
* version, thus making comparisons on specific revisions easy.
*/
-const uint32 _openttd_newgrf_version = 1 << 28 | 12 << 24 | 0 << 20 | ${REV_ISSTABLETAG} << 19 | 28004;
+const uint32 _openttd_newgrf_version = ${REV_MAJOR} << 28 | ${REV_MINOR} << 24 | ${REV_BUILD} << 20 | ${REV_ISSTABLETAG} << 19 | 28004;