1+ # Product version definitions
2+ set (BUILD_USER "" )
3+ set (BUILD_LOCATION "" )
4+ set (PRODUCT_VERSION_MAJOR 1)
5+ if (IS_VS6_BUILD)
6+ set (PRODUCT_VERSION_MINOR 7)
7+ else ()
8+ set (PRODUCT_VERSION_MINOR 8)
9+ endif ()
10+ set (PRODUCT_VERSION_PATCH 0)
11+ set (PRODUCT_VERSION_TWEAK 0)
12+ set (PRODUCT_VERSION_STRING "${PRODUCT_VERSION_MAJOR} .${PRODUCT_VERSION_MINOR} .${PRODUCT_VERSION_PATCH} .${PRODUCT_VERSION_TWEAK} " )
13+ set (PRODUCT_NAME "Command & Conquer Generals" )
14+ set (FILE_VERSION_MAJOR ${PRODUCT_VERSION_MAJOR} ) # TODO come up with a file version?
15+ set (FILE_VERSION_MINOR ${PRODUCT_VERSION_MINOR} )
16+ set (FILE_VERSION_PATCH ${PRODUCT_VERSION_PATCH} )
17+ set (FILE_VERSION_TWEAK ${PRODUCT_VERSION_TWEAK} )
18+ set (FILE_VERSION_STRING "${FILE_VERSION_MAJOR} .${FILE_VERSION_MINOR} .${FILE_VERSION_PATCH} .${FILE_VERSION_TWEAK} " )
19+ set (FILE_DESCRIPTION "Community Version" )
20+ set (FILE_NAME "GeneralsV" )
21+
22+ # TODO Originally referred to build host and user, replace with git info perhaps?
23+ file (WRITE ${CMAKE_CURRENT_BINARY_DIR} /GeneratedVersion.h
24+ "#pragma once
25+
26+ #define VERSION_LOCALBUILDNUM 0
27+ #define VERSION_BUILDUSER \" ${BUILD_USER} \"
28+ #define VERSION_BUILDLOC \" ${BUILD_LOCATION} \"
29+ "
30+ )
31+
32+ file (WRITE ${CMAKE_CURRENT_BINARY_DIR} /BuildVersion.h
33+ "#pragma once
34+
35+ #define VERSION_MAJOR ${PRODUCT_VERSION_MAJOR}
36+ #define VERSION_MINOR ${PRODUCT_VERSION_MINOR}
37+ #define VERSION_BUILDNUM ${PRODUCT_VERSION_PATCH}
38+ "
39+ )
40+
41+ # Configure Version rc file
42+ configure_file (${CMAKE_CURRENT_SOURCE_DIR} /Version.rc.in
43+ ${CMAKE_CURRENT_BINARY_DIR} /Version.rc )
44+
45+
46+
147add_executable (g_generals WIN32 )
248
349# Use a binary name that doesn't conflict with original game.
450if ("${CMAKE_SYSTEM} " MATCHES "Windows" )
5- set_target_properties (g_generals PROPERTIES OUTPUT_NAME generalsv )
51+ set_target_properties (g_generals PROPERTIES OUTPUT_NAME ${FILE_NAME} )
652else ()
7- set_target_properties (g_generals PROPERTIES OUTPUT_NAME generalsv )
53+ string (TOLOWER ${FILE_NAME} FILE_NAME_LOWER)
54+ set_target_properties (g_generals PROPERTIES OUTPUT_NAME ${FILE_NAME_LOWER} )
855endif ()
956
1057target_link_libraries (g_generals PRIVATE
@@ -24,37 +71,6 @@ target_link_libraries(g_generals PRIVATE
2471 winmm
2572)
2673
27- # TODO Originally referred to build host and user, replace with git info perhaps?
28- file (WRITE ${CMAKE_CURRENT_BINARY_DIR} /GeneratedVersion.h
29- "#pragma once
30-
31- #define VERSION_LOCALBUILDNUM 0
32- #define VERSION_BUILDUSER \"\"
33- #define VERSION_BUILDLOC \"\"
34- "
35- )
36-
37- # Based on original binary values for these variables.
38- if (IS_VS6_BUILD)
39- file (WRITE ${CMAKE_CURRENT_BINARY_DIR} /BuildVersion.h
40- "#pragma once
41-
42- #define VERSION_MAJOR 1
43- #define VERSION_MINOR 7
44- #define VERSION_BUILDNUM 601
45- "
46- )
47- else ()
48- file (WRITE ${CMAKE_CURRENT_BINARY_DIR} /BuildVersion.h
49- "#pragma once
50-
51- #define VERSION_MAJOR 1
52- #define VERSION_MINOR 8
53- #define VERSION_BUILDNUM 601
54- "
55- )
56- endif ()
57-
5874target_link_options (g_generals PRIVATE "/NODEFAULTLIB:libci.lib" )
5975
6076target_include_directories (g_generals PRIVATE
0 commit comments