File 0001-Initial-port-to-Frameworks.patch of Package kdegraphics-thumbnailers
From 010ca9359c20606e98d6c507f0b135cf4fc6c88e Mon Sep 17 00:00:00 2001
From: Hrvoje Senjan <hrvoje.senjan@gmail.com>
Date: Mon, 27 Oct 2014 11:45:18 +0100
Subject: [PATCH 1/3] Initial port to Frameworks
KDcraw still needs some fixing to be usable to the outside world
---
CMakeLists.txt | 48 ++++++++++++++++++++++++++++++++++--------------
ps/CMakeLists.txt | 4 ++--
ps/gscreator.cpp | 3 +--
raw/CMakeLists.txt | 8 ++------
raw/rawcreator.cpp | 6 +++---
5 files changed, 42 insertions(+), 27 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 47bd2fb0f89b10fe8a3c5d05db59e8a484001fd1..c65fb3ab0ccba89095a1c105c2f98e2993819747 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,23 +1,43 @@
project(kdegraphics-thumbnailers)
-find_package(KDE4 REQUIRED)
-include(KDE4Defaults)
-include(MacroLibrary)
-include(MacroOptionalAddSubdirectory)
+cmake_minimum_required(VERSION 2.8.12 FATAL_ERROR)
+set(QT_MIN_VERSION "5.2.0")
-add_definitions(${QT_DEFINITIONS} ${KDE4_DEFINITIONS} -DQT_USE_FAST_CONCATENATION -DQT_USE_FAST_OPERATOR_PLUS)
-include_directories(${KDE4_INCLUDES})
+find_package(ECM 1.0.0 REQUIRED NO_MODULE)
+set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH} ${ECM_KDE_MODULE_DIR})
-macro_optional_find_package(Kexiv2)
-macro_optional_find_package(Kdcraw)
+include(ECMOptionalAddSubdirectory)
+include(KDEInstallDirs)
+include(KDECMakeSettings)
+include(KDECompilerSettings)
+include(FeatureSummary)
-macro_log_feature(KEXIV2_FOUND "libkexiv2" "A library for reading and writing image metadata" "www.kde.org" FALSE "" "Required to build the RAW thumbnailer")
-macro_log_feature(KDCRAW_FOUND "libkdcraw" "A library for accessing raw files" "www.kde.org" FALSE "" "Required to build the RAW thumbnailer")
+find_package(Qt5 ${QT_MIN_VERSION} CONFIG REQUIRED COMPONENTS Gui)
+find_package(KF5 REQUIRED COMPONENTS KIO)
-macro_optional_add_subdirectory(ps)
+add_definitions(${QT_DEFINITIONS} -DQT_USE_FAST_CONCATENATION -DQT_USE_FAST_OPERATOR_PLUS)
-if(KEXIV2_FOUND AND KDCRAW_FOUND)
-macro_optional_add_subdirectory(raw)
+find_package(KF5KExiv2)
+set_package_properties("KF5KExiv2" PROPERTIES
+ DESCRIPTION "A library for reading and writing image metadata"
+ URL "www.kde.org"
+ TYPE OPTIONAL
+ PURPOSE "Required to build the RAW thumbnailer"
+)
+
+find_package(KF5KDcraw)
+set_package_properties("KF5KDcraw" PROPERTIES
+ DESCRIPTION "A library for accessing raw files"
+ URL "www.kde.org"
+ TYPE OPTIONAL
+ PURPOSE "Required to build the RAW thumbnailer"
+)
+
+
+ecm_optional_add_subdirectory(ps)
+
+if(KF5KExiv2_FOUND AND KF5KDcraw_FOUND)
+ecm_optional_add_subdirectory(raw)
endif()
-macro_display_feature_log()
+feature_summary(WHAT ALL INCLUDE_QUIET_PACKAGES FATAL_ON_MISSING_REQUIRED_PACKAGES)
diff --git a/ps/CMakeLists.txt b/ps/CMakeLists.txt
index b6643a3a157ad6f3179d389c2a60250ec8c15576..92ea9c26fc8f21adb5dda072694c0af15d92445e 100644
--- a/ps/CMakeLists.txt
+++ b/ps/CMakeLists.txt
@@ -3,10 +3,10 @@
set(gsthumbnail_PART_SRCS gscreator.cpp dscparse.cpp dscparse_adapter.cpp)
-kde4_add_plugin(gsthumbnail ${gsthumbnail_PART_SRCS})
+add_library(gsthumbnail MODULE ${gsthumbnail_PART_SRCS})
-target_link_libraries(gsthumbnail ${KDE4_KDECORE_LIBS} ${KDE4_KIO_LIBS} ${QT_QTGUI_LIBRARY} )
+target_link_libraries(gsthumbnail Qt5::Gui KF5::KIOWidgets )
install(TARGETS gsthumbnail DESTINATION ${PLUGIN_INSTALL_DIR} )
diff --git a/ps/gscreator.cpp b/ps/gscreator.cpp
index 2650e306f1481c4cfa676130ca7f55313fa6f0bf..df2de700d5b6f549838406e0b3c9d35396923f4e 100644
--- a/ps/gscreator.cpp
+++ b/ps/gscreator.cpp
@@ -67,7 +67,6 @@
#include <sys/wait.h>
#include <fcntl.h>
#include <errno.h>
-#include <kdemacros.h>
#include <qcolor.h>
#include <qfile.h>
@@ -82,7 +81,7 @@
extern "C"
{
- KDE_EXPORT ThumbCreator *new_creator()
+ Q_DECL_EXPORT ThumbCreator *new_creator()
{
return new GSCreator;
}
diff --git a/raw/CMakeLists.txt b/raw/CMakeLists.txt
index adce793f9545f4492721a5fbc6aabaf481fd3814..f5d18f56cc62c9fb6a6f926b1c973cc37d4203bf 100644
--- a/raw/CMakeLists.txt
+++ b/raw/CMakeLists.txt
@@ -1,16 +1,12 @@
project(rawthumbnail)
-## includes and linking
-include_directories(${KEXIV2_INCLUDE_DIR} ${KDCRAW_INCLUDE_DIR})
-
-
#sources
set(rawthumbnail_SRCS rawcreator.cpp)
-kde4_add_plugin(rawthumbnail ${rawthumbnail_SRCS})
+add_library(rawthumbnail MODULE ${rawthumbnail_SRCS})
## includes and linking
-target_link_libraries(rawthumbnail ${KDE4_KIO_LIBS} ${KDCRAW_LIBRARIES} ${KEXIV2_LIBRARIES} ${QT_QTGUI_LIBRARY} ${KDE4_KDECORE_LIBS})
+target_link_libraries(rawthumbnail Qt5::Gui KF5::KIOWidgets KF5::Kdcraw KF5::Kexiv2)
## install the plugin
install(TARGETS rawthumbnail DESTINATION ${PLUGIN_INSTALL_DIR})
diff --git a/raw/rawcreator.cpp b/raw/rawcreator.cpp
index 48d27492691b70affa5aa70a7a08c98bf0e4d6ba..e3c9ed4279a2feda5afa1f18bf24c76c4d6c1ecc 100644
--- a/raw/rawcreator.cpp
+++ b/raw/rawcreator.cpp
@@ -21,12 +21,12 @@
#include <QImage>
-#include <libkdcraw/kdcraw.h>
-#include <libkexiv2/kexiv2.h>
+#include <kdcraw/kdcraw.h>
+#include <kexiv2/kexiv2.h>
extern "C"
{
- KDE_EXPORT ThumbCreator *new_creator()
+ Q_DECL_EXPORT ThumbCreator *new_creator()
{
return new RAWCreator;
}
--
2.5.0