CMakeLists: Embed macOS Updater app inside DolphinQt
I accomplish this by adding a new step where a copy of the DolphinQt bundle is created, and then the Updater is inserted into it.
This commit is contained in:
parent
16acdb630b
commit
7c94edb02c
|
@ -30,3 +30,59 @@ endif()
|
|||
if (WIN32 AND ENABLE_AUTOUPDATE)
|
||||
add_subdirectory(WinUpdater)
|
||||
endif()
|
||||
|
||||
if (APPLE AND ENABLE_QT)
|
||||
set(DOLPHIN_MAC_BUNDLE "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/Dolphin.app")
|
||||
|
||||
add_custom_target(build_final_bundle ALL
|
||||
COMMAND ${CMAKE_COMMAND} -E remove_directory
|
||||
${DOLPHIN_MAC_BUNDLE}
|
||||
|
||||
COMMAND cp -R
|
||||
${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/DolphinQt.app
|
||||
${DOLPHIN_MAC_BUNDLE}
|
||||
|
||||
# HACK: The Updater does not support setting the executable bit on new files,
|
||||
# so don't use the new executable name, and instead continue to use "Dolphin".
|
||||
COMMAND ${CMAKE_COMMAND} -E rename
|
||||
${DOLPHIN_MAC_BUNDLE}/Contents/MacOS/DolphinQt
|
||||
${DOLPHIN_MAC_BUNDLE}/Contents/MacOS/Dolphin
|
||||
|
||||
COMMAND plutil
|
||||
-replace CFBundleExecutable -string Dolphin
|
||||
${DOLPHIN_MAC_BUNDLE}/Contents/Info.plist
|
||||
|
||||
DEPENDS dolphin-emu)
|
||||
|
||||
if (ENABLE_AUTOUPDATE)
|
||||
add_dependencies(build_final_bundle MacUpdater)
|
||||
|
||||
add_custom_command(TARGET build_final_bundle
|
||||
POST_BUILD
|
||||
COMMAND ${CMAKE_COMMAND} -E make_directory
|
||||
"${DOLPHIN_MAC_BUNDLE}/Contents/Helpers"
|
||||
|
||||
COMMAND cp -R
|
||||
"$<TARGET_BUNDLE_DIR:MacUpdater>"
|
||||
"${DOLPHIN_MAC_BUNDLE}/Contents/Helpers/Dolphin Updater.app")
|
||||
|
||||
if (MACOS_CODE_SIGNING)
|
||||
add_custom_command(TARGET build_final_bundle
|
||||
POST_BUILD
|
||||
COMMAND "${CMAKE_SOURCE_DIR}/Tools/mac-codesign.sh"
|
||||
"-t"
|
||||
"${MACOS_CODE_SIGNING_IDENTITY}"
|
||||
"${DOLPHIN_MAC_BUNDLE}/Contents/Helpers/Dolphin Updater.app")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if (MACOS_CODE_SIGNING)
|
||||
add_custom_command(TARGET build_final_bundle
|
||||
POST_BUILD
|
||||
COMMAND "${CMAKE_SOURCE_DIR}/Tools/mac-codesign.sh"
|
||||
"-t"
|
||||
"-e" "${CMAKE_SOURCE_DIR}/Source/Core/DolphinQt/DolphinEmu$<$<CONFIG:Debug>:Debug>.entitlements"
|
||||
"${MACOS_CODE_SIGNING_IDENTITY}"
|
||||
"${DOLPHIN_MAC_BUNDLE}")
|
||||
endif()
|
||||
endif()
|
||||
|
|
Loading…
Reference in New Issue