Windows resource/manifest fixes

* Report correct Windows architecture for the build in the manifest
* Output processed .rc/.manifest in the CMake binary dir to prevent
  potential issues with the files conflicting if cross compiling melonDS
  on the same Windows machine
* Make the original file name actually make sense
This commit is contained in:
Nadia Holmquist Pedersen 2022-11-06 02:53:51 +01:00
parent 659b7214c7
commit ca19ea1ce8
3 changed files with 16 additions and 6 deletions

View File

@ -2,7 +2,7 @@
#define VFT_APP 0x00000001L
//this will set your .exe icon
100 ICON MOVEABLE PURE LOADONCALL DISCARDABLE "res/melon.ico"
100 ICON MOVEABLE PURE LOADONCALL DISCARDABLE "${CMAKE_SOURCE_DIR}/res/melon.ico"
//include version information in .exe, modify these values to match your needs
1 VERSIONINFO
@ -20,7 +20,7 @@ FILETYPE VFT_APP
VALUE "InternalName", "SDnolem"
VALUE "LegalCopyright", "2016-2022 melonDS team"
VALUE "LegalTrademarks", ""
VALUE "OriginalFilename", "zafkflzdasd.exe"
VALUE "OriginalFilename", "melonDS.exe"
VALUE "ProductName", "melonDS"
VALUE "ProductVersion", "${melonDS_VERSION}"
}

View File

@ -4,7 +4,7 @@
manifestVersion="1.0">
<assemblyIdentity
name="Exe.Apps.Project"
processorArchitecture="amd64"
processorArchitecture="${WIN32_ARCHITECTURE}"
version="1.0.0.0"
type="win32"/>
<description>Project</description>
@ -14,7 +14,7 @@
type="win32"
name="Microsoft.Windows.Common-Controls"
version="6.0.0.0"
processorArchitecture="amd64"
processorArchitecture="${WIN32_ARCHITECTURE}"
publicKeyToken="6595b64144ccf1df"
language="*"
/>

View File

@ -157,8 +157,18 @@ if (UNIX)
elseif (WIN32)
option(PORTABLE "Make a portable build that looks for its configuration in the current directory" ON)
configure_file("${CMAKE_SOURCE_DIR}/res/melon.rc.in" "${CMAKE_SOURCE_DIR}/melon.rc")
target_sources(melonDS PUBLIC "${CMAKE_SOURCE_DIR}/melon.rc")
configure_file("${CMAKE_SOURCE_DIR}/res/melon.rc.in" "${CMAKE_BINARY_DIR}/res/melon.rc")
target_sources(melonDS PUBLIC "${CMAKE_BINARY_DIR}/res/melon.rc")
if (${ARCHITECTURE} STREQUAL x86_64)
set(WIN32_ARCHITECTURE amd64)
elseif (${ARCHITECTURE} STREQUAL x86)
set(WIN32_ARCHITECTURE x86)
elseif (${ARCHITECTURE} MATCHES "ARM(64)?")
string(TOLOWER "${ARCHITECTURE}" WIN32_ARCHITECTURE)
endif()
configure_file("${CMAKE_SOURCE_DIR}/res/xp.manifest.in" "${CMAKE_BINARY_DIR}/res/xp.manifest")
target_link_libraries(melonDS PRIVATE ws2_32 iphlpapi)
set_target_properties(melonDS PROPERTIES LINK_FLAGS_DEBUG "-mconsole")