diff options
author | Kenneth Chew <kenneth.c0@protonmail.com> | 2022-04-19 02:09:16 -0400 |
---|---|---|
committer | Kenneth Chew <kenneth.c0@protonmail.com> | 2022-05-19 15:16:37 -0400 |
commit | 7eb61a28be3b66c1016eab434ae93b5d94eb11af (patch) | |
tree | 1500f8655c105b4824ef49018aee1214194e96ad | |
parent | 92b913ca3740ea1aa799a69d65dc13d0c3612b87 (diff) | |
download | PrismLauncher-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.txt | 2 | ||||
-rw-r--r-- | buildconfig/BuildConfig.cpp.in | 8 | ||||
-rw-r--r-- | buildconfig/BuildConfig.h | 6 | ||||
-rw-r--r-- | cmake/MacOSXBundleInfo.plist.in | 4 |
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> |