File tree Expand file tree Collapse file tree 6 files changed +66
-6
lines changed
Expand file tree Collapse file tree 6 files changed +66
-6
lines changed Original file line number Diff line number Diff line change @@ -12,5 +12,30 @@ set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})
1212# Add main build targets
1313add_subdirectory (Code)
1414
15+ # If we are building on windows for windows, try and get the game install path from the registry.
16+ if ("${CMAKE_HOST_SYSTEM} " MATCHES "Windows" AND "${CMAKE_SYSTEM} " MATCHES "Windows" )
17+ # Check the CD registry path
18+ if (NOT GENERALS_INSTALL_PREFIX)
19+ get_filename_component (GENERALS_INSTALL_PREFIX "[HKEY_LOCAL_MACHINE\\ SOFTWARE\\ Electronic Arts\\ EA Games\\ Generals;InstallPath]" ABSOLUTE CACHE )
20+ endif ()
21+
22+ # Check the "First Decade" registry path
23+ if (NOT GENERALS_INSTALL_PREFIX OR "${GENERALS_INSTALL_PREFIX} " STREQUAL "/registry" )
24+ get_filename_component (GENERALS_INSTALL_PREFIX "[HKEY_LOCAL_MACHINE\\ SOFTWARE\\ Electronic Arts\\ EA Games\\ Command and Conquer The First Decade;gr_folder]" ABSOLUTE CACHE )
25+ endif ()
26+
27+ # Check the Steam registry path
28+ if (NOT GENERALS_INSTALL_PREFIX OR "${GENERALS_INSTALL_PREFIX} " STREQUAL "/registry" )
29+ get_filename_component (GENERALS_INSTALL_PREFIX "[HKEY_LOCAL_MACHINE\\ SOFTWARE\\ Electronic Arts\\ EA Games\\ Generals;installPath]" ABSOLUTE CACHE )
30+ endif ()
31+ endif ()
32+
33+ if (GENERALS_INSTALL_PREFIX AND NOT "${GENERALS_INSTALL_PREFIX} " STREQUAL "/registry" )
34+ install (TARGETS g_generals RUNTIME DESTINATION "${GENERALS_INSTALL_PREFIX} " )
35+ install (FILES $<TARGET_PDB_FILE:g_generals> DESTINATION "${GENERALS_INSTALL_PREFIX} " OPTIONAL )
36+ install (TARGETS g_worldbuilder RUNTIME DESTINATION "${GENERALS_INSTALL_PREFIX} " OPTIONAL )
37+ install (FILES $<TARGET_PDB_FILE:g_worldbuilder> DESTINATION "${GENERALS_INSTALL_PREFIX} " OPTIONAL )
38+ endif ()
39+
1540feature_summary(WHAT ENABLED_FEATURES DESCRIPTION "Enabled features:" )
1641feature_summary(WHAT DISABLED_FEATURES DESCRIPTION "Disabled features:" )
Original file line number Diff line number Diff line change 11add_executable (g_generals WIN32 )
22
3- set_target_properties (g_generals PROPERTIES OUTPUT_NAME generals)
3+ # Use a binary name that doesn't conflict with original game.
4+ if ("${CMAKE_SYSTEM} " MATCHES "Windows" )
5+ set_target_properties (g_generals PROPERTIES OUTPUT_NAME generalsv)
6+ else ()
7+ set_target_properties (g_generals PROPERTIES OUTPUT_NAME generalsv)
8+ endif ()
49
510target_link_libraries (g_generals PRIVATE
611 binkstub
Original file line number Diff line number Diff line change @@ -224,9 +224,9 @@ if(WIN32 OR "${CMAKE_SYSTEM}" MATCHES "Windows")
224224 target_link_options (g_worldbuilder PRIVATE /NODEFAULTLIB:libci.lib /NODEFAULTLIB:libc.lib)
225225
226226 target_sources (g_worldbuilder PRIVATE res/WorldBuilder.rc)
227- set_target_properties (g_worldbuilder PROPERTIES OUTPUT_NAME WorldBuilder )
227+ set_target_properties (g_worldbuilder PROPERTIES OUTPUT_NAME WorldBuilderV )
228228else ()
229- set_target_properties (g_worldbuilder PROPERTIES OUTPUT_NAME worldbuilder )
229+ set_target_properties (g_worldbuilder PROPERTIES OUTPUT_NAME worldbuilderv )
230230endif ()
231231
232232target_sources (g_worldbuilder PRIVATE ${WORLDBUILDER_SRC} )
Original file line number Diff line number Diff line change @@ -12,5 +12,29 @@ set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})
1212# Add main build targets
1313add_subdirectory (Code)
1414
15+ # If we are building on windows for windows, try and get the game install path from the registry.
16+ if ("${CMAKE_HOST_SYSTEM} " MATCHES "Windows" AND "${CMAKE_SYSTEM} " MATCHES "Windows" )
17+ if (NOT ZEROHOUR_INSTALL_PREFIX)
18+ get_filename_component (ZEROHOUR_INSTALL_PREFIX "[HKEY_LOCAL_MACHINE\\ SOFTWARE\\ Electronic Arts\\ EA Games\\ Command and Conquer Generals Zero Hour;InstallPath]" ABSOLUTE CACHE )
19+ endif ()
20+
21+ # Check the "First Decade" registry path
22+ if (NOT ZEROHOUR_INSTALL_PREFIX OR "${ZEROHOUR_INSTALL_PREFIX} " STREQUAL "/registry" )
23+ get_filename_component (ZEROHOUR_INSTALL_PREFIX "[HKEY_LOCAL_MACHINE\\ SOFTWARE\\ Electronic Arts\\ EA Games\\ Command and Conquer The First Decade;zh_folder]" ABSOLUTE CACHE )
24+ endif ()
25+
26+ # Check the Steam registry path
27+ if (NOT ZEROHOUR_INSTALL_PREFIX OR "${ZEROHOUR_INSTALL_PREFIX} " STREQUAL "/registry" )
28+ get_filename_component (ZEROHOUR_INSTALL_PREFIX "[HKEY_LOCAL_MACHINE\\ SOFTWARE\\ Electronic Arts\\ EA Games\\ ZeroHour;installPath]" ABSOLUTE CACHE )
29+ endif ()
30+ endif ()
31+
32+ if (ZEROHOUR_INSTALL_PREFIX AND NOT "${ZEROHOUR_INSTALL_PREFIX} " STREQUAL "/registry" )
33+ install (TARGETS z_generals RUNTIME DESTINATION "${ZEROHOUR_INSTALL_PREFIX} " )
34+ install (FILES $<TARGET_PDB_FILE:z_generals> DESTINATION "${ZEROHOUR_INSTALL_PREFIX} " OPTIONAL )
35+ install (TARGETS z_worldbuilder RUNTIME DESTINATION "${ZEROHOUR_INSTALL_PREFIX} " OPTIONAL )
36+ install (FILES $<TARGET_PDB_FILE:z_worldbuilder> DESTINATION "${ZEROHOUR_INSTALL_PREFIX} " OPTIONAL )
37+ endif ()
38+
1539feature_summary(WHAT ENABLED_FEATURES DESCRIPTION "Enabled features:" )
1640feature_summary(WHAT DISABLED_FEATURES DESCRIPTION "Disabled features:" )
Original file line number Diff line number Diff line change 11add_executable (z_generals WIN32 )
2- set_target_properties (z_generals PROPERTIES OUTPUT_NAME generals)
2+
3+ # Use a binary name that doesn't conflict with original game.
4+ if ("${CMAKE_SYSTEM} " MATCHES "Windows" )
5+ set_target_properties (z_generals PROPERTIES OUTPUT_NAME generalszh)
6+ else ()
7+ set_target_properties (z_generals PROPERTIES OUTPUT_NAME generalszh)
8+ endif ()
39
410target_link_libraries (z_generals PRIVATE
511 binkstub
Original file line number Diff line number Diff line change @@ -229,7 +229,7 @@ if(WIN32 OR "${CMAKE_SYSTEM}" MATCHES "Windows")
229229 target_link_options (z_worldbuilder PRIVATE /NODEFAULTLIB:libci.lib /NODEFAULTLIB:libc.lib)
230230 target_compile_definitions (z_worldbuilder PRIVATE _AFXDLL)
231231 target_sources (z_worldbuilder PRIVATE res/WorldBuilder.rc)
232- set_target_properties (z_worldbuilder PROPERTIES OUTPUT_NAME WorldBuilder )
232+ set_target_properties (z_worldbuilder PROPERTIES OUTPUT_NAME WorldBuilderZH )
233233else ()
234- set_target_properties (z_worldbuilder PROPERTIES OUTPUT_NAME worldbuilder )
234+ set_target_properties (z_worldbuilder PROPERTIES OUTPUT_NAME worldbuilderzh )
235235endif ()
You can’t perform that action at this time.
0 commit comments