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)