build(cmake): apply workaround for ninja in release mode on msvc

Signed-off-by: Seth Flynn <getchoo@tuta.io>
This commit is contained in:
Seth Flynn 2025-07-04 05:13:01 -04:00
parent 300851e603
commit fde66a11ce
No known key found for this signature in database
GPG key ID: D31BD0D494BBEE86

View file

@ -1458,6 +1458,12 @@ if(WIN32 OR (DEFINED Launcher_BUILD_FILELINKER AND Launcher_BUILD_FILELINKER))
add_executable("${Launcher_Name}_filelink" WIN32 filelink/filelink_main.cpp) add_executable("${Launcher_Name}_filelink" WIN32 filelink/filelink_main.cpp)
target_sources("${Launcher_Name}_filelink" PRIVATE filelink/filelink.exe.manifest) target_sources("${Launcher_Name}_filelink" PRIVATE filelink/filelink.exe.manifest)
# HACK: Fix manifest issues with Ninja in release mode (and only release mode) and MSVC
# I have no idea why this works or why it's needed. UPDATE THIS IF YOU EDIT THE MANIFEST!!! -@getchoo
# Thank you 2018 CMake mailing list thread https://cmake.cmake.narkive.com/LnotZXus/conflicting-msvc-manifests
if(MSVC)
set_property(TARGET "${Launcher_Name}_filelink" PROPERTY LINK_FLAGS "/MANIFESTUAC:level='requireAdministrator'")
endif()
target_link_libraries("${Launcher_Name}_filelink" filelink_logic) target_link_libraries("${Launcher_Name}_filelink" filelink_logic)