From a50c6650515251cd4dff86fc2275f8e16b710870 Mon Sep 17 00:00:00 2001 From: Dominik Schmidt Date: Wed, 25 Nov 2020 09:43:59 +0100 Subject: [PATCH] Simplify Sparkle handling in CMake --- cmake/modules/FindSparkle.cmake | 8 +++----- src/gui/CMakeLists.txt | 15 +++++++++++---- src/libsync/CMakeLists.txt | 8 -------- 3 files changed, 14 insertions(+), 17 deletions(-) diff --git a/cmake/modules/FindSparkle.cmake b/cmake/modules/FindSparkle.cmake index 2c1e1944d..2b0c75b95 100644 --- a/cmake/modules/FindSparkle.cmake +++ b/cmake/modules/FindSparkle.cmake @@ -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 # # 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) diff --git a/src/gui/CMakeLists.txt b/src/gui/CMakeLists.txt index 93929fa73..5a49920e0 100644 --- a/src/gui/CMakeLists.txt +++ b/src/gui/CMakeLists.txt @@ -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() diff --git a/src/libsync/CMakeLists.txt b/src/libsync/CMakeLists.txt index d7957dab8..0bcbe40ec 100644 --- a/src/libsync/CMakeLists.txt +++ b/src/libsync/CMakeLists.txt @@ -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()