summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CMake/DolphinInjectVersionInfo.cmake24
-rw-r--r--CMake/ScmRevGen.cmake3
-rw-r--r--CMakeLists.txt11
-rw-r--r--Source/Core/DolphinQt/CMakeLists.txt5
-rw-r--r--Source/Core/DolphinQt/Info.plist.in6
-rw-r--r--Source/Core/MacUpdater/CMakeLists.txt5
-rw-r--r--Source/Core/MacUpdater/Info.plist.in4
-rw-r--r--Source/Core/VersionInfo.plist.in13
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>