diff --git a/CMakeLists.txt b/CMakeLists.txt index 926f6b8..07972e0 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -30,6 +30,15 @@ skate3_resolve_version(SKATE3_FULL_VERSION SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}) string(REGEX REPLACE "-.*$" "" SKATE3_NUMERIC_VERSION "${SKATE3_FULL_VERSION}") +# Four-part comma-separated form for Windows VERSIONINFO resources. +string(REPLACE "." ";" SKATE3_RC_VERSION_PARTS "${SKATE3_NUMERIC_VERSION}") +list(LENGTH SKATE3_RC_VERSION_PARTS SKATE3_RC_VERSION_PART_COUNT) +while(SKATE3_RC_VERSION_PART_COUNT LESS 4) + list(APPEND SKATE3_RC_VERSION_PARTS 0) + list(LENGTH SKATE3_RC_VERSION_PARTS SKATE3_RC_VERSION_PART_COUNT) +endwhile() +list(JOIN SKATE3_RC_VERSION_PARTS "," SKATE3_RC_VERSION) + set(SKATE3_TARGET_PROCESSOR "${CMAKE_SYSTEM_PROCESSOR}") if(APPLE AND CMAKE_OSX_ARCHITECTURES) list(LENGTH CMAKE_OSX_ARCHITECTURES SKATE3_OSX_ARCH_COUNT) @@ -218,6 +227,15 @@ configure_file( set(REXGLUE_ENABLE_TRACY OFF CACHE BOOL "Disable Tracy instrumentation for normal Skate 3 builds" FORCE) set(REXGLUE_ENABLE_PERF_COUNTERS OFF CACHE BOOL "Enable lightweight rexglue perf counter instrumentation") +if(WIN32) + set(REXGLUE_RUNTIME_RC_VERSION "${SKATE3_RC_VERSION}") + set(REXGLUE_RUNTIME_RC_VERSION_STRING "${SKATE3_FULL_VERSION}") + set(REXGLUE_RUNTIME_RC_PRODUCT_NAME "Skate3Recomp") + set(REXGLUE_RUNTIME_RC_COMPANY "Skate3Recomp project") + set(REXGLUE_RUNTIME_RC_DESCRIPTION "Skate3Recomp guest runtime") + set(REXGLUE_RUNTIME_RC_COPYRIGHT "(c) Skate3Recomp contributors") +endif() + include(cmake/RexGlue.cmake) include(cmake/CodegenTargets.cmake) @@ -262,6 +280,12 @@ if(WIN32) COPYONLY ) target_link_options(skate3 PRIVATE LINKER:/MANIFESTINPUT:skate3_app.manifest) + configure_file( + ${CMAKE_CURRENT_SOURCE_DIR}/src/skate3.rc.in + ${CMAKE_CURRENT_BINARY_DIR}/skate3.rc + @ONLY + ) + target_sources(skate3 PRIVATE ${CMAKE_CURRENT_BINARY_DIR}/skate3.rc) else() add_executable(skate3 ${SKATE3_SOURCES}) endif() diff --git a/src/skate3.rc.in b/src/skate3.rc.in new file mode 100644 index 0000000..8691a3f --- /dev/null +++ b/src/skate3.rc.in @@ -0,0 +1,29 @@ +1 VERSIONINFO + FILEVERSION @SKATE3_RC_VERSION@ + PRODUCTVERSION @SKATE3_RC_VERSION@ + FILEFLAGSMASK 0x3fL + FILEFLAGS 0x0L + FILEOS 0x40004L + FILETYPE 0x1L + FILESUBTYPE 0x0L +BEGIN + BLOCK "StringFileInfo" + BEGIN + BLOCK "040904b0" + BEGIN + VALUE "CompanyName", "Skate3Recomp project" + VALUE "FileDescription", "Skate3Recomp" + VALUE "FileVersion", "@SKATE3_FULL_VERSION@" + VALUE "InternalName", "skate3" + VALUE "LegalCopyright", "(c) Skate3Recomp contributors" + VALUE "OriginalFilename", "skate3.exe" + VALUE "ProductName", "Skate3Recomp" + VALUE "ProductVersion", "@SKATE3_FULL_VERSION@" + VALUE "Comments", "Fan-made recompilation. Not affiliated with or endorsed by Electronic Arts." + END + END + BLOCK "VarFileInfo" + BEGIN + VALUE "Translation", 0x409, 1200 + END +END diff --git a/third_party/rexglue-sdk b/third_party/rexglue-sdk index 593f877..3b0328d 160000 --- a/third_party/rexglue-sdk +++ b/third_party/rexglue-sdk @@ -1 +1 @@ -Subproject commit 593f8774f600ac84df282dec7f9225bc751bdc36 +Subproject commit 3b0328da625267f950844c56c6b1e393723733d5