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)