aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKenneth Chew <kenneth.c0@protonmail.com>2022-04-19 02:09:16 -0400
committerKenneth Chew <kenneth.c0@protonmail.com>2022-05-19 15:16:37 -0400
commit7eb61a28be3b66c1016eab434ae93b5d94eb11af (patch)
tree1500f8655c105b4824ef49018aee1214194e96ad
parent92b913ca3740ea1aa799a69d65dc13d0c3612b87 (diff)
downloadPrismLauncher-7eb61a28be3b66c1016eab434ae93b5d94eb11af.tar.gz
PrismLauncher-7eb61a28be3b66c1016eab434ae93b5d94eb11af.tar.bz2
PrismLauncher-7eb61a28be3b66c1016eab434ae93b5d94eb11af.zip
Add build options for Sparkle updater
Two new build options are added: `MAC_SPARKLE_PUB_KEY`: the public key used to verify the signatures of the appcast `MAC_SPARKLE_APPCAST_URL`: the URL where the `appcast.xml` is located If the updater should be disabled on macOS, set either of these to an empty string.
-rw-r--r--CMakeLists.txt2
-rw-r--r--buildconfig/BuildConfig.cpp.in8
-rw-r--r--buildconfig/BuildConfig.h6
-rw-r--r--cmake/MacOSXBundleInfo.plist.in4
4 files changed, 20 insertions, 0 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 6e0bfd4c..289a7ec4 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -195,6 +195,8 @@ if(UNIX AND APPLE)
set(MACOSX_BUNDLE_LONG_VERSION_STRING "${Launcher_VERSION_MAJOR}.${Launcher_VERSION_MINOR}.${Launcher_VERSION_HOTFIX}")
set(MACOSX_BUNDLE_ICON_FILE ${Launcher_Name}.icns)
set(MACOSX_BUNDLE_COPYRIGHT "Copyright 2021-2022 ${Launcher_Copyright}")
+ set(MACOSX_SPARKLE_UPDATE_PUBLIC_KEY "")
+ set(MACOSX_SPARKLE_UPDATE_FEED_URL "")
set(MACOSX_SPARKLE_DOWNLOAD_URL "https://github.com/sparkle-project/Sparkle/releases/download/2.1.0/Sparkle-2.1.0.tar.xz" CACHE STRING "URL to Sparkle release archive")
set(MACOSX_SPARKLE_SHA256 "bf6ac1caa9f8d321d5784859c88da874f28412f37fb327bc21b7b14c5d61ef94" CACHE STRING "SHA256 checksum for Sparkle release archive")
diff --git a/buildconfig/BuildConfig.cpp.in b/buildconfig/BuildConfig.cpp.in
index 70f8f7f0..2d07bc58 100644
--- a/buildconfig/BuildConfig.cpp.in
+++ b/buildconfig/BuildConfig.cpp.in
@@ -61,6 +61,14 @@ Config::Config()
BUILD_PLATFORM = "@Launcher_BUILD_PLATFORM@";
UPDATER_BASE = "@Launcher_UPDATER_BASE@";
+ MAC_SPARKLE_PUB_KEY = "@MACOSX_SPARKLE_UPDATE_PUBLIC_KEY@";
+ MAC_SPARKLE_APPCAST_URL = "@MACOSX_SPARKLE_UPDATE_FEED_URL@";
+
+ if (BUILD_PLATFORM == "macOS" && !MAC_SPARKLE_PUB_KEY.isEmpty() && !MAC_SPARKLE_APPCAST_URL.isEmpty())
+ {
+ UPDATER_ENABLED = true;
+ }
+
GIT_COMMIT = "@Launcher_GIT_COMMIT@";
GIT_REFSPEC = "@Launcher_GIT_REFSPEC@";
if (GIT_REFSPEC == QStringLiteral("GITDIR-NOTFOUND"))
diff --git a/buildconfig/BuildConfig.h b/buildconfig/BuildConfig.h
index 8594e46d..e41d4ba0 100644
--- a/buildconfig/BuildConfig.h
+++ b/buildconfig/BuildConfig.h
@@ -74,6 +74,12 @@ class Config {
/// URL for the updater's channel
QString UPDATER_BASE;
+ /// The public key used to sign releases for the Sparkle updater appcast
+ QString MAC_SPARKLE_PUB_KEY;
+
+ /// URL for the Sparkle updater's appcast
+ QString MAC_SPARKLE_APPCAST_URL;
+
/// User-Agent to use.
QString USER_AGENT;
diff --git a/cmake/MacOSXBundleInfo.plist.in b/cmake/MacOSXBundleInfo.plist.in
index 9e663d31..1b22e21f 100644
--- a/cmake/MacOSXBundleInfo.plist.in
+++ b/cmake/MacOSXBundleInfo.plist.in
@@ -40,5 +40,9 @@
<true/>
<key>NSHumanReadableCopyright</key>
<string>${MACOSX_BUNDLE_COPYRIGHT}</string>
+ <key>SUPublicEDKey</key>
+ <string>${MACOSX_SPARKLE_UPDATE_PUBLIC_KEY}</string>
+ <key>SUFeedURL</key>
+ <string>${MACOSX_SPARKLE_UPDATE_FEED_URL}</string>
</dict>
</plist>