diff options
| -rw-r--r-- | CMake/DolphinInjectVersionInfo.cmake | 24 | ||||
| -rw-r--r-- | CMake/ScmRevGen.cmake | 3 | ||||
| -rw-r--r-- | CMakeLists.txt | 11 | ||||
| -rw-r--r-- | Source/Core/DolphinQt/CMakeLists.txt | 5 | ||||
| -rw-r--r-- | Source/Core/DolphinQt/Info.plist.in | 6 | ||||
| -rw-r--r-- | Source/Core/MacUpdater/CMakeLists.txt | 5 | ||||
| -rw-r--r-- | Source/Core/MacUpdater/Info.plist.in | 4 | ||||
| -rw-r--r-- | Source/Core/VersionInfo.plist.in | 13 |
8 files changed, 49 insertions, 22 deletions
diff --git a/CMake/DolphinInjectVersionInfo.cmake b/CMake/DolphinInjectVersionInfo.cmake new file mode 100644 index 0000000000..94d9b43873 --- /dev/null +++ b/CMake/DolphinInjectVersionInfo.cmake @@ -0,0 +1,24 @@ +function(dolphin_inject_version_info target) + set(INFO_PLIST_PATH "$<TARGET_BUNDLE_DIR:${target}>/Contents/Info.plist") + add_custom_command(TARGET ${target} + POST_BUILD + + COMMAND /usr/libexec/PlistBuddy -c + "Delete :CFBundleShortVersionString" + "${INFO_PLIST_PATH}" + || true + + COMMAND /usr/libexec/PlistBuddy -c + "Delete :CFBundleLongVersionString" + "${INFO_PLIST_PATH}" + || true + + COMMAND /usr/libexec/PlistBuddy -c + "Delete :CFBundleVersion" + "${INFO_PLIST_PATH}" + || true + + COMMAND /usr/libexec/PlistBuddy -c + "Merge '${CMAKE_BINARY_DIR}/Source/Core/VersionInfo.plist'" + "${INFO_PLIST_PATH}") +endfunction() diff --git a/CMake/ScmRevGen.cmake b/CMake/ScmRevGen.cmake index 751e8b78c2..d314d044e3 100644 --- a/CMake/ScmRevGen.cmake +++ b/CMake/ScmRevGen.cmake @@ -65,6 +65,5 @@ endfunction() configure_source_file("Source/Core/Common/scmrev.h") if(APPLE) - configure_source_file("Source/Core/DolphinQt/Info.plist") - configure_source_file("Source/Core/MacUpdater/Info.plist") + configure_source_file("Source/Core/VersionInfo.plist") endif() diff --git a/CMakeLists.txt b/CMakeLists.txt index 3495e3b2b3..819ea04409 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -783,14 +783,9 @@ if (NOT EXISTS ${CMAKE_CURRENT_BINARY_DIR}/Source/Core/Common/scmrev.h) endif() if(APPLE) - file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/Source/Core/DolphinQt) - if (NOT EXISTS ${CMAKE_CURRENT_BINARY_DIR}/Source/Core/DolphinQt/Info.plist) - file(TOUCH ${CMAKE_CURRENT_BINARY_DIR}/Source/Core/DolphinQt/Info.plist) - endif() - - file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/Source/Core/MacUpdater) - if (NOT EXISTS ${CMAKE_CURRENT_BINARY_DIR}/Source/Core/MacUpdater/Info.plist) - file(TOUCH ${CMAKE_CURRENT_BINARY_DIR}/Source/Core/MacUpdater/Info.plist) + file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/Source/Core) + if (NOT EXISTS ${CMAKE_CURRENT_BINARY_DIR}/Source/Core/VersionInfo.plist) + file(TOUCH ${CMAKE_CURRENT_BINARY_DIR}/Source/Core/VersionInfo.plist) endif() endif() diff --git a/Source/Core/DolphinQt/CMakeLists.txt b/Source/Core/DolphinQt/CMakeLists.txt index 153f9eb4b5..98d4cb0e43 100644 --- a/Source/Core/DolphinQt/CMakeLists.txt +++ b/Source/Core/DolphinQt/CMakeLists.txt @@ -576,7 +576,7 @@ if(APPLE) # Ask for an application bundle. set_target_properties(dolphin-emu PROPERTIES MACOSX_BUNDLE true - MACOSX_BUNDLE_INFO_PLIST "${CMAKE_CURRENT_BINARY_DIR}/Info.plist" + MACOSX_BUNDLE_INFO_PLIST "${CMAKE_CURRENT_SOURCE_DIR}/Info.plist.in" XCODE_ATTRIBUTE_CODE_SIGN_IDENTITY "" OUTPUT_NAME DolphinQt ) @@ -613,6 +613,9 @@ if(APPLE) source_group("Resources" FILES "${CMAKE_SOURCE_DIR}/Data/${res}") endforeach() + include(DolphinInjectVersionInfo) + dolphin_inject_version_info(dolphin-emu) + # Copy MoltenVK into the bundle if(ENABLE_VULKAN) if(USE_BUNDLED_MOLTENVK) diff --git a/Source/Core/DolphinQt/Info.plist.in b/Source/Core/DolphinQt/Info.plist.in index 2a3d17291e..ddd2ed4182 100644 --- a/Source/Core/DolphinQt/Info.plist.in +++ b/Source/Core/DolphinQt/Info.plist.in @@ -39,12 +39,6 @@ <string>English</string> <key>CFBundlePackageType</key> <string>APPL</string> - <key>CFBundleShortVersionString</key> - <string>${DOLPHIN_WC_DESCRIBE}</string> - <key>CFBundleLongVersionString</key> - <string>${DOLPHIN_WC_REVISION}</string> - <key>CFBundleVersion</key> - <string>${DOLPHIN_VERSION_MAJOR}.${DOLPHIN_VERSION_MINOR}</string> <key>NSHumanReadableCopyright</key> <string>Licensed under GPL version 2 or later (GPLv2+)</string> <key>LSApplicationCategoryType</key> diff --git a/Source/Core/MacUpdater/CMakeLists.txt b/Source/Core/MacUpdater/CMakeLists.txt index d72dd46cd2..79a9bfe52f 100644 --- a/Source/Core/MacUpdater/CMakeLists.txt +++ b/Source/Core/MacUpdater/CMakeLists.txt @@ -16,7 +16,7 @@ add_dependencies(MacUpdater dolphin_scmrev) set_target_properties(MacUpdater PROPERTIES MACOSX_BUNDLE true - MACOSX_BUNDLE_INFO_PLIST "${CMAKE_CURRENT_BINARY_DIR}/Info.plist" + MACOSX_BUNDLE_INFO_PLIST "${CMAKE_CURRENT_SOURCE_DIR}/Info.plist.in" OUTPUT_NAME "Dolphin Updater") target_compile_options(MacUpdater PRIVATE -x objective-c++) @@ -53,6 +53,9 @@ foreach(sb ${STORYBOARDS}) COMMENT "Compiling Storyboard ${sb}...") endforeach() +include(DolphinInjectVersionInfo) +dolphin_inject_version_info(MacUpdater) + if(NOT SKIP_POSTPROCESS_BUNDLE) # Update library references to make the bundle portable include(DolphinPostprocessBundle) diff --git a/Source/Core/MacUpdater/Info.plist.in b/Source/Core/MacUpdater/Info.plist.in index 574843c28d..22872c858f 100644 --- a/Source/Core/MacUpdater/Info.plist.in +++ b/Source/Core/MacUpdater/Info.plist.in @@ -16,10 +16,6 @@ <string>Dolphin Updater</string> <key>CFBundlePackageType</key> <string>APPL</string> - <key>CFBundleShortVersionString</key> - <string>${DOLPHIN_WC_DESCRIBE}</string> - <key>CFBundleVersion</key> - <string>${DOLPHIN_VERSION_MAJOR}.${DOLPHIN_VERSION_MINOR}</string> <key>LSMinimumSystemVersion</key> <string>${CMAKE_OSX_DEPLOYMENT_TARGET}</string> <key>NSHumanReadableCopyright</key> diff --git a/Source/Core/VersionInfo.plist.in b/Source/Core/VersionInfo.plist.in new file mode 100644 index 0000000000..38043ba2de --- /dev/null +++ b/Source/Core/VersionInfo.plist.in @@ -0,0 +1,13 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> +<plist version="1.0"> +<dict> + <!-- This plist file is merged with the application's Info.plist to set its version info. --> + <key>CFBundleShortVersionString</key> + <string>${DOLPHIN_WC_DESCRIBE}</string> + <key>CFBundleLongVersionString</key> + <string>${DOLPHIN_WC_REVISION}</string> + <key>CFBundleVersion</key> + <string>${DOLPHIN_VERSION_MAJOR}.${DOLPHIN_VERSION_MINOR}</string> +</dict> +</plist> |
