mirror of
https://github.com/nextcloud/desktop.git
synced 2025-10-26 11:17:43 +00:00
Merge pull request #2665 from nextcloud/sparkle_build_fixes
Sparkle build fixes
This commit is contained in:
commit
c38189e981
@ -2,8 +2,7 @@
|
||||
#
|
||||
# Once done this will define
|
||||
# SPARKLE_FOUND - system has Sparkle
|
||||
# SPARKLE_INCLUDE_DIR - the Sparkle include directory
|
||||
# SPARKLE_LIBRARY - The library needed to use Sparkle
|
||||
# SPARKLE_LIBRARY - The framework needed to use Sparkle
|
||||
# Copyright (c) 2009, Vittorio Giovara <vittorio.giovara@gmail.com>
|
||||
#
|
||||
# Distributed under the OSI-approved BSD License (the "License");
|
||||
@ -15,9 +14,8 @@
|
||||
|
||||
include(FindPackageHandleStandardArgs)
|
||||
|
||||
find_path(SPARKLE_INCLUDE_DIR Sparkle.h)
|
||||
find_library(SPARKLE_LIBRARY NAMES Sparkle)
|
||||
|
||||
find_package_handle_standard_args(Sparkle DEFAULT_MSG SPARKLE_INCLUDE_DIR SPARKLE_LIBRARY)
|
||||
mark_as_advanced(SPARKLE_INCLUDE_DIR SPARKLE_LIBRARY)
|
||||
find_package_handle_standard_args(Sparkle DEFAULT_MSG SPARKLE_LIBRARY)
|
||||
mark_as_advanced(SPARKLE_LIBRARY)
|
||||
|
||||
|
||||
@ -161,9 +161,16 @@ IF( APPLE )
|
||||
list(APPEND client_SRCS systray.mm)
|
||||
|
||||
if(SPARKLE_FOUND AND BUILD_UPDATER)
|
||||
# Define this, we need to check in updater.cpp
|
||||
add_definitions( -DHAVE_SPARKLE )
|
||||
list(APPEND updater_SRCS updater/sparkleupdater_mac.mm updater/sparkleupdater.h)
|
||||
# Define this, we need to check in updater.cpp
|
||||
add_definitions(-DHAVE_SPARKLE)
|
||||
list(APPEND updater_SRCS updater/sparkleupdater_mac.mm updater/sparkleupdater.h)
|
||||
list(APPEND updater_DEPS ${SPARKLE_LIBRARY})
|
||||
|
||||
# Sparkle.framework is installed from here because macdeployqt's CopyFramework breaks on this bundle
|
||||
# as its logic is tightly tailored around Qt5 frameworks
|
||||
install(DIRECTORY "${SPARKLE_LIBRARY}"
|
||||
DESTINATION "${OWNCLOUD_OSX_BUNDLE}/Contents/Frameworks" USE_SOURCE_PERMISSIONS)
|
||||
|
||||
endif()
|
||||
ENDIF()
|
||||
|
||||
@ -309,7 +316,7 @@ endif()
|
||||
|
||||
IF(BUILD_UPDATER)
|
||||
add_library(updater STATIC ${updater_SRCS})
|
||||
target_link_libraries(updater ${synclib_NAME} Qt5::Widgets Qt5::Svg Qt5::Network Qt5::Xml)
|
||||
target_link_libraries(updater ${synclib_NAME} ${updater_DEPS} Qt5::Widgets Qt5::Svg Qt5::Network Qt5::Xml)
|
||||
target_include_directories(updater PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
|
||||
endif()
|
||||
|
||||
|
||||
@ -45,6 +45,7 @@
|
||||
#include <QNetworkProxy>
|
||||
#include <QDir>
|
||||
#include <QScopedValueRollback>
|
||||
#include <QMessageBox>
|
||||
|
||||
#include <private/qzipwriter_p.h>
|
||||
|
||||
@ -279,7 +280,7 @@ void GeneralSettings::slotUpdateInfo()
|
||||
|
||||
_ui->autoCheckForUpdatesCheckBox->setChecked(ConfigFile().autoUpdateCheck());
|
||||
}
|
||||
#ifdef Q_OS_MAC
|
||||
#if defined(Q_OS_MAC) && defined(HAVE_SPARKLE)
|
||||
else if (auto sparkleUpdater = qobject_cast<SparkleUpdater *>(Updater::instance())) {
|
||||
_ui->updateStateLabel->setText(sparkleUpdater->statusString());
|
||||
_ui->restartButton->setVisible(false);
|
||||
@ -294,18 +295,46 @@ void GeneralSettings::slotUpdateInfo()
|
||||
|
||||
void GeneralSettings::slotUpdateChannelChanged(const QString &channel)
|
||||
{
|
||||
ConfigFile().setUpdateChannel(channel);
|
||||
auto *updater = qobject_cast<OCUpdater *>(Updater::instance());
|
||||
if (updater) {
|
||||
updater->setUpdateUrl(Updater::updateUrl());
|
||||
updater->checkForUpdate();
|
||||
}
|
||||
#ifdef Q_OS_MAC
|
||||
else if (auto *updater = qobject_cast<SparkleUpdater *>(Updater::instance())) {
|
||||
updater->setUpdateUrl(Updater::updateUrl());
|
||||
updater->checkForUpdate();
|
||||
}
|
||||
if (channel == ConfigFile().updateChannel())
|
||||
return;
|
||||
|
||||
auto msgBox = new QMessageBox(
|
||||
QMessageBox::Warning,
|
||||
tr("Change update channel?"),
|
||||
tr("The update channel determines which client updates will be offered "
|
||||
"for installation. The \"stable\" channel contains only upgrades that "
|
||||
"are considered reliable, while the versions in the \"beta\" channel "
|
||||
"may contain newer features and bugfixes, but have not yet been tested "
|
||||
"thoroughly."
|
||||
"\n\n"
|
||||
"Note that this selects only what pool upgrades are taken from, and that "
|
||||
"there are no downgrades: So going back from the beta channel to "
|
||||
"the stable channel usually cannot be done immediately and means waiting "
|
||||
"for a stable version that is newer than the currently installed beta "
|
||||
"version."),
|
||||
QMessageBox::NoButton,
|
||||
this);
|
||||
msgBox->addButton(tr("Change update channel"), QMessageBox::AcceptRole);
|
||||
msgBox->addButton(tr("Cancel"), QMessageBox::RejectRole);
|
||||
connect(msgBox, &QMessageBox::finished, msgBox, [this, channel, msgBox](int result) {
|
||||
msgBox->deleteLater();
|
||||
if (result == QMessageBox::AcceptRole) {
|
||||
ConfigFile().setUpdateChannel(channel);
|
||||
if (auto updater = qobject_cast<OCUpdater *>(Updater::instance())) {
|
||||
updater->setUpdateUrl(Updater::updateUrl());
|
||||
updater->checkForUpdate();
|
||||
}
|
||||
#if defined(Q_OS_MAC) && defined(HAVE_SPARKLE)
|
||||
else if (auto updater = qobject_cast<SparkleUpdater *>(Updater::instance())) {
|
||||
updater->setUpdateUrl(Updater::updateUrl());
|
||||
updater->checkForUpdate();
|
||||
}
|
||||
#endif
|
||||
} else {
|
||||
_ui->updateChannel->setCurrentText(ConfigFile().updateChannel());
|
||||
}
|
||||
});
|
||||
msgBox->open();
|
||||
}
|
||||
|
||||
void GeneralSettings::slotUpdateCheckNow()
|
||||
|
||||
@ -15,10 +15,6 @@ IF(${CMAKE_SYSTEM_NAME} MATCHES "FreeBSD|NetBSD|OpenBSD")
|
||||
)
|
||||
ENDIF(${CMAKE_SYSTEM_NAME} MATCHES "FreeBSD|NetBSD|OpenBSD")
|
||||
|
||||
if(SPARKLE_FOUND AND NOT BUILD_LIBRARIES_ONLY)
|
||||
list (APPEND OS_SPECIFIC_LINK_LIBRARIES ${SPARKLE_LIBRARY})
|
||||
endif()
|
||||
|
||||
set(libsync_SRCS
|
||||
account.cpp
|
||||
wordlist.cpp
|
||||
@ -141,10 +137,6 @@ if(NOT BUILD_OWNCLOUD_OSX_BUNDLE)
|
||||
)
|
||||
else()
|
||||
install(TARGETS ${synclib_NAME} DESTINATION ${OWNCLOUD_OSX_BUNDLE}/Contents/MacOS)
|
||||
if (SPARKLE_FOUND)
|
||||
install(DIRECTORY "${SPARKLE_LIBRARY}"
|
||||
DESTINATION "${OWNCLOUD_OSX_BUNDLE}/Contents/Frameworks" USE_SOURCE_PERMISSIONS)
|
||||
endif (SPARKLE_FOUND)
|
||||
endif()
|
||||
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user