Warning, /network/kio-extras/thumbnail/CMakeLists.txt is written in an unsupported language. File is not indexed.
0001 if (BUILD_TESTING)
0002 add_subdirectory(autotests)
0003 endif()
0004
0005 add_definitions(-DTRANSLATION_DOMAIN=\"kio6_thumbnail\")
0006
0007 remove_definitions(-DQT_NO_CAST_FROM_ASCII)
0008
0009 find_package(OpenEXR 3.0 CONFIG QUIET)
0010 if(NOT OpenEXR_FOUND)
0011 find_package(OpenEXR)
0012 endif()
0013 set_package_properties(OpenEXR PROPERTIES
0014 DESCRIPTION "A library for handling OpenEXR high dynamic-range image files"
0015 URL "https://www.openexr.com/"
0016 TYPE OPTIONAL
0017 PURPOSE "Provides support for OpenEXR formatted images in the thumbnail KIO worker"
0018 )
0019
0020 find_package(libappimage 0.1.10 CONFIG)
0021 set_package_properties(libappimage PROPERTIES
0022 DESCRIPTION "Core library of the AppImage project"
0023 URL "https://github.com/AppImage/libappimage"
0024 TYPE OPTIONAL
0025 PURPOSE "Provides support for AppImage thumbnails"
0026 )
0027
0028 option(WITHOUT_X11 "Build without support for XCursor thumbnails (disables finding X11)" OFF)
0029 if (NOT WITHOUT_X11)
0030 find_package(X11)
0031 set_package_properties(X11 PROPERTIES
0032 DESCRIPTION "X11 libraries"
0033 URL "https://www.x.org"
0034 TYPE OPTIONAL
0035 PURPOSE "Provides support for XCursor thumbnails"
0036 )
0037 endif()
0038
0039 find_package(Taglib 1.11)
0040 set_package_properties(Taglib PROPERTIES
0041 TYPE OPTIONAL
0042 PURPOSE "Provides support for audio thumbnails"
0043 )
0044
0045 find_package(KExiv2Qt6)
0046 set_package_properties(KExiv2Qt6 PROPERTIES
0047 TYPE OPTIONAL
0048 PURPOSE "Provides support for extracting JPEG thumbnails")
0049 if (KExiv2Qt6_FOUND)
0050 set(HAVE_KEXIV2 TRUE)
0051 endif()
0052
0053 include_directories(${CMAKE_BINARY_DIR})
0054
0055 include(ECMSetupQtPluginMacroNames)
0056 ecm_setup_qtplugin_macro_names(
0057 JSON_ARG2
0058 "EXPORT_THUMBNAILER_WITH_JSON"
0059 CONFIG_CODE_VARIABLE
0060 PACKAGE_SETUP_AUTOMOC_VARIABLES
0061 )
0062
0063 configure_file(config-thumbnail.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config-thumbnail.h)
0064
0065 ########### next target ###############
0066
0067 add_library(kio_thumbnail MODULE)
0068 set_target_properties(kio_thumbnail PROPERTIES
0069 OUTPUT_NAME "thumbnail"
0070 )
0071
0072 target_sources(kio_thumbnail PRIVATE
0073 thumbnail.cpp
0074 imagefilter.cpp
0075 )
0076
0077 ecm_qt_declare_logging_category(kio_thumbnail
0078 HEADER thumbnail-logsettings.h
0079 IDENTIFIER KIO_THUMBNAIL_LOG
0080 CATEGORY_NAME kf.kio.workers.thumbnail
0081 OLD_CATEGORY_NAMES log_kio_thumbnail kf.kio.slaves.thumbnail
0082 DESCRIPTION "KIO thumbnail"
0083 EXPORT KIO_EXTRAS
0084 )
0085
0086 target_link_libraries(kio_thumbnail
0087 KF6::CoreAddons
0088 KF6::KIOCore
0089 KF6::KIOWidgets
0090 KF6::I18n
0091 )
0092
0093 install(TARGETS kio_thumbnail DESTINATION ${KDE_INSTALL_PLUGINDIR}/kf6/kio)
0094
0095 ########### next target ###############
0096
0097 add_library(imagethumbnail MODULE imagecreator.cpp)
0098
0099 target_link_libraries(imagethumbnail
0100 KF6::CoreAddons
0101 KF6::KIOGui
0102 )
0103
0104 install(TARGETS imagethumbnail DESTINATION ${KDE_INSTALL_PLUGINDIR}/kf6/thumbcreator)
0105
0106 ########### next target ###############
0107
0108 add_library(jpegthumbnail MODULE jpegcreator.cpp)
0109
0110 kconfig_add_kcfg_files(jpegthumbnail jpegcreatorsettings5.kcfgc)
0111
0112 target_link_libraries(jpegthumbnail
0113 Qt::Core
0114 Qt::Gui
0115 KF6::KIOCore
0116 KF6::KIOGui
0117 KF6::I18n
0118 KF6::ConfigCore
0119 KF6::ConfigGui
0120 )
0121 if (TARGET KExiv2Qt6)
0122 target_link_libraries(jpegthumbnail KExiv2Qt6)
0123 endif()
0124
0125 install(FILES jpegcreatorsettings5.kcfg DESTINATION ${KDE_INSTALL_KCFGDIR})
0126 install(TARGETS jpegthumbnail DESTINATION ${KDE_INSTALL_PLUGINDIR}/kf6/thumbcreator)
0127
0128 ########### next target ###############
0129
0130 add_library(svgthumbnail MODULE svgcreator.cpp)
0131
0132 target_link_libraries(svgthumbnail
0133 Qt::Gui
0134 Qt::Svg
0135 KF6::KIOCore
0136 KF6::KIOGui
0137 )
0138
0139 install(TARGETS svgthumbnail DESTINATION ${KDE_INSTALL_PLUGINDIR}/kf6/thumbcreator)
0140
0141 ########### next target ###############
0142
0143 add_library(textthumbnail MODULE textcreator.cpp)
0144
0145 target_link_libraries(textthumbnail
0146 Qt::Gui
0147 KF6::KIOGui
0148 KF6::SyntaxHighlighting
0149 )
0150 if (QT_MAJOR_VERSION EQUAL "6")
0151 target_link_libraries(textthumbnail Qt6::Core5Compat)
0152 endif()
0153
0154 install(TARGETS textthumbnail DESTINATION ${KDE_INSTALL_PLUGINDIR}/kf6/thumbcreator)
0155
0156 ########### next target ###############
0157
0158 if(NOT WIN32)
0159
0160 add_library(djvuthumbnail MODULE djvucreator.cpp)
0161
0162 ecm_qt_declare_logging_category(djvuthumbnail
0163 HEADER thumbnail-djvu-logsettings.h
0164 IDENTIFIER KIO_THUMBNAIL_DJVU_LOG
0165 CATEGORY_NAME kf.kio.workers.thumbnail.djvu
0166 OLD_CATEGORY_NAMES log_kio_thumbnail.djvu kf.kio.slaves.thumbnail.djvu
0167 DESCRIPTION "DjVu files thumbnailer"
0168 EXPORT KIO_EXTRAS
0169 )
0170
0171 target_link_libraries(djvuthumbnail KF6::KIOGui)
0172
0173 install(TARGETS djvuthumbnail DESTINATION ${KDE_INSTALL_PLUGINDIR}/kf6/thumbcreator)
0174
0175 endif()
0176
0177 ########### next target ###############
0178
0179 if(OpenEXR_FOUND)
0180
0181 add_library(exrthumbnail MODULE exrcreator.cpp)
0182
0183 ecm_qt_declare_logging_category(exrthumbnail
0184 HEADER thumbnail-exr-logsettings.h
0185 IDENTIFIER KIO_THUMBNAIL_EXR_LOG
0186 CATEGORY_NAME kf.kio.workers.thumbnail.exr
0187 OLD_CATEGORY_NAMES log_kio_thumbnail.exr kf.kio.slaves.thumbnail.exr
0188 DESCRIPTION "EXR images thumbnailer"
0189 EXPORT KIO_EXTRAS
0190 )
0191
0192 target_link_libraries(exrthumbnail
0193 KF6::KIOCore
0194 KF6::KIOGui
0195 )
0196 if(TARGET OpenEXR::OpenEXR)
0197 target_link_libraries(exrthumbnail OpenEXR::OpenEXR)
0198 else()
0199 target_include_directories(exrthumbnail SYSTEM PRIVATE ${OpenEXR_INCLUDE_DIRS})
0200 target_link_libraries(exrthumbnail ${OpenEXR_LIBRARIES})
0201 endif()
0202
0203 # OpenEXR headers use exceptions; at least clang refuses to build the target
0204 # when exceptions are not enabled.
0205 kde_source_files_enable_exceptions(exrcreator.cpp)
0206
0207 install(TARGETS exrthumbnail DESTINATION ${KDE_INSTALL_PLUGINDIR}/kf6/thumbcreator)
0208
0209 endif()
0210
0211 ########### next target ###############
0212
0213 if(X11_Xcursor_FOUND AND NOT WITHOUT_X11)
0214
0215 add_library(cursorthumbnail MODULE cursorcreator.cpp)
0216
0217 target_link_libraries(cursorthumbnail
0218 KF6::KIOCore
0219 KF6::KIOGui
0220 KF6::CoreAddons
0221 ${X11_Xcursor_LIB}
0222 )
0223
0224 install(TARGETS cursorthumbnail DESTINATION ${KDE_INSTALL_PLUGINDIR}/kf6/thumbcreator)
0225
0226 endif()
0227
0228 ########### next target ###############
0229
0230 add_library(windowsexethumbnail MODULE windowsexecreator.cpp icoutils_common.cpp)
0231 add_library(windowsimagethumbnail MODULE windowsimagecreator.cpp icoutils_common.cpp)
0232
0233 if(WIN32)
0234 target_sources(windowsexethumbnail PRIVATE icoutils_win.cpp)
0235 target_sources(windowsimagethumbnail PRIVATE icoutils_win.cpp)
0236 else()
0237 target_sources(windowsexethumbnail PRIVATE icoutils_wrestool.cpp)
0238 target_sources(windowsimagethumbnail PRIVATE icoutils_wrestool.cpp)
0239 endif()
0240
0241 target_link_libraries(windowsexethumbnail KF6::KIOGui)
0242 install(TARGETS windowsexethumbnail DESTINATION ${KDE_INSTALL_PLUGINDIR}/kf6/thumbcreator)
0243
0244 target_link_libraries(windowsimagethumbnail KF6::KIOGui)
0245 install(TARGETS windowsimagethumbnail DESTINATION ${KDE_INSTALL_PLUGINDIR}/kf6/thumbcreator)
0246
0247 ########### next target ###############
0248
0249 add_library(comicbookthumbnail MODULE comiccreator.cpp)
0250
0251 ecm_qt_declare_logging_category(comicbookthumbnail
0252 HEADER thumbnail-comic-logsettings.h
0253 IDENTIFIER KIO_THUMBNAIL_COMIC_LOG
0254 CATEGORY_NAME kf.kio.workers.thumbnail.comic
0255 OLD_CATEGORY_NAMES log_kio_thumbnail.comic kf.kio.slaves.thumbnail.comic
0256 DESCRIPTION "Comic books thumbnailer"
0257 EXPORT KIO_EXTRAS
0258 )
0259
0260 target_link_libraries(comicbookthumbnail
0261 Qt::Gui
0262 KF6::Archive
0263 KF6::KIOGui
0264 )
0265
0266 install(TARGETS comicbookthumbnail DESTINATION ${KDE_INSTALL_PLUGINDIR}/kf6/thumbcreator)
0267
0268 # ########### next target ###############
0269
0270 add_library(kraorathumbnail MODULE kritacreator.cpp)
0271
0272 target_link_libraries(kraorathumbnail
0273 KF6::KIOGui
0274 KF6::Archive
0275 )
0276
0277 install(TARGETS kraorathumbnail DESTINATION ${KDE_INSTALL_PLUGINDIR}/kf6/thumbcreator)
0278
0279 ########### next target #################
0280
0281 if(Taglib_FOUND)
0282
0283 add_library(audiothumbnail MODULE audiocreator.cpp)
0284
0285 target_link_libraries(audiothumbnail
0286 Taglib::Taglib
0287 KF6::KIOGui
0288 )
0289
0290 install(TARGETS audiothumbnail DESTINATION ${KDE_INSTALL_PLUGINDIR}/kf6/thumbcreator)
0291
0292 endif()
0293
0294 # ########### next target ###############
0295
0296 add_library(opendocumentthumbnail MODULE opendocumentcreator.cpp)
0297
0298 target_link_libraries(opendocumentthumbnail
0299 Qt::Gui
0300 KF6::KIOGui
0301 KF6::Archive
0302 )
0303
0304 install(TARGETS opendocumentthumbnail DESTINATION ${KDE_INSTALL_PLUGINDIR}/kf6/thumbcreator)
0305
0306 # ########### next target ###############
0307
0308 if(libappimage_FOUND)
0309
0310 add_library(appimagethumbnail MODULE appimagecreator.cpp)
0311
0312 target_link_libraries(appimagethumbnail
0313 KF6::KIOGui
0314 Qt::Gui
0315 libappimage
0316 )
0317
0318 install(TARGETS appimagethumbnail DESTINATION ${KDE_INSTALL_PLUGINDIR}/kf6/thumbcreator)
0319
0320 endif()
0321
0322 # ########### next target ###############
0323
0324 add_library(ebookthumbnail MODULE ebookcreator.cpp)
0325
0326 target_link_libraries(ebookthumbnail
0327 Qt::Gui
0328 KF6::KIOGui
0329 KF6::Archive
0330 )
0331
0332 install(TARGETS ebookthumbnail DESTINATION ${KDE_INSTALL_PLUGINDIR}/kf6/thumbcreator)
0333
0334 # ########### next target ###############
0335
0336 add_library(directorythumbnail MODULE directorycreator.cpp)
0337
0338 target_link_libraries(directorythumbnail
0339 Qt::Gui
0340 KF6::CoreAddons
0341 KF6::KIOGui
0342 )
0343
0344 install(TARGETS directorythumbnail DESTINATION ${KDE_INSTALL_PLUGINDIR}/kf6/thumbcreator)