From 96e9bf770c4267843d2729375f221a53a414909c Mon Sep 17 00:00:00 2001 From: Ilya Fedin Date: Sat, 27 Aug 2022 04:01:29 +0400 Subject: [PATCH] Add external_kcoreaddons --- external/CMakeLists.txt | 1 + external/kcoreaddons/CMakeLists.txt | 49 +++++++++++++++++++++++++++++ external/kcoreaddons/KUrlMimeData | 26 +++++++++++++++ 3 files changed, 76 insertions(+) create mode 100644 external/kcoreaddons/CMakeLists.txt create mode 100644 external/kcoreaddons/KUrlMimeData diff --git a/external/CMakeLists.txt b/external/CMakeLists.txt index d27d914..75f608a 100644 --- a/external/CMakeLists.txt +++ b/external/CMakeLists.txt @@ -41,6 +41,7 @@ if (LINUX AND NOT DESKTOP_APP_DISABLE_JEMALLOC) add_checked_subdirectory(jemalloc) endif() add_checked_subdirectory(jpeg) +add_checked_subdirectory(kcoreaddons) add_checked_subdirectory(lz4) add_checked_subdirectory(minizip) if (LINUX) diff --git a/external/kcoreaddons/CMakeLists.txt b/external/kcoreaddons/CMakeLists.txt new file mode 100644 index 0000000..5ef0eb6 --- /dev/null +++ b/external/kcoreaddons/CMakeLists.txt @@ -0,0 +1,49 @@ +# This file is part of Desktop App Toolkit, +# a set of libraries for developing nice desktop applications. +# +# For license and copyright information please follow this link: +# https://github.com/desktop-app/legal/blob/master/LEGAL + +if (NOT LINUX) + add_library(external_kcoreaddons INTERFACE IMPORTED GLOBAL) + add_library(desktop-app::external_kcoreaddons ALIAS external_kcoreaddons) + + target_include_directories(external_kcoreaddons SYSTEM + INTERFACE + ${CMAKE_CURRENT_SOURCE_DIR} + ) + + target_link_libraries(external_kcoreaddons + INTERFACE + desktop-app::external_qt + ) + + return() +endif() + +if (DESKTOP_APP_USE_PACKAGED) + add_library(external_kcoreaddons INTERFACE IMPORTED GLOBAL) + add_library(desktop-app::external_kcoreaddons ALIAS external_kcoreaddons) + + find_package(KF5CoreAddons REQUIRED) + target_link_libraries(external_kcoreaddons INTERFACE KF5:CoreAddons) + return() +endif() + +add_library(external_kcoreaddons STATIC IMPORTED GLOBAL) +add_library(desktop-app::external_kcoreaddons ALIAS external_kcoreaddons) + +find_library(DESKTOP_APP_KCOREADDONS_LIBRARIES libKF5CoreAddons.a) +set_target_properties(external_kcoreaddons PROPERTIES + IMPORTED_LOCATION "${DESKTOP_APP_KCOREADDONS_LIBRARIES}" +) + +target_include_directories(external_kcoreaddons SYSTEM +INTERFACE + /usr/local/include/KF${QT_VERSION_MAJOR}/KCoreAddons +) + +target_link_libraries(external_kcoreaddons +INTERFACE + desktop-app::external_qt +) diff --git a/external/kcoreaddons/KUrlMimeData b/external/kcoreaddons/KUrlMimeData new file mode 100644 index 0000000..23e0485 --- /dev/null +++ b/external/kcoreaddons/KUrlMimeData @@ -0,0 +1,26 @@ +// This file is part of Desktop App Toolkit, +// a set of libraries for developing nice desktop applications. +// +// For license and copyright information please follow this link: +// https://github.com/desktop-app/legal/blob/master/LEGAL +// +#pragma once + +#include + +namespace KUrlMimeData { + +enum DecodeOptions { + PreferLocalUrls, + PreferKdeUrls, +}; + +inline bool exportUrlsToPortal(QMimeData *mimeData) { + return false; +} + +inline auto urlsFromMimeData(const QMimeData *mimeData, ...) { + return mimeData->urls(); +} + +} // namespace KUrlMimeData