diff --git a/CMakeLists.txt b/CMakeLists.txt
index 6e0bfd4c1..289a7ec4e 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 70f8f7f05..2d07bc585 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 8594e46dc..e41d4ba07 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 9e663d312..1b22e21fd 100644
--- a/cmake/MacOSXBundleInfo.plist.in
+++ b/cmake/MacOSXBundleInfo.plist.in
@@ -40,5 +40,9 @@
NSHumanReadableCopyright
${MACOSX_BUNDLE_COPYRIGHT}
+ SUPublicEDKey
+ ${MACOSX_SPARKLE_UPDATE_PUBLIC_KEY}
+ SUFeedURL
+ ${MACOSX_SPARKLE_UPDATE_FEED_URL}