Warning, /graphics/gwenview/lib/CMakeLists.txt is written in an unsupported language. File is not indexed.
0001 project(gwenviewlib) 0002 0003 add_definitions(-DTRANSLATION_DOMAIN="gwenview") 0004 0005 set(LIBGWENVIEW_VERSION "4.97.0") 0006 0007 if (${JPEG_VERSION} LESS 80) 0008 set(GV_JPEG_DIR libjpeg-62) 0009 endif() 0010 0011 if (${JPEG_VERSION} EQUAL 80) 0012 set(GV_JPEG_DIR libjpeg-80) 0013 endif() 0014 0015 if (${JPEG_VERSION} EQUAL 90) 0016 set(GV_JPEG_DIR libjpeg-90) 0017 endif() 0018 0019 if ("${GV_JPEG_DIR}" STREQUAL "") 0020 message(FATAL_ERROR "Unknown libjpeg version: ${jpeglib_version}") 0021 endif() 0022 0023 message(STATUS "libjpeg version: ${JPEG_VERSION}") 0024 0025 add_definitions(-Dlibjpeg_EXPORTS) 0026 include_directories( 0027 ${CMAKE_CURRENT_SOURCE_DIR}/${GV_JPEG_DIR} 0028 ${CMAKE_CURRENT_SOURCE_DIR}/.. 0029 ${CMAKE_CURRENT_BINARY_DIR} 0030 ) 0031 0032 if(HAVE_FITS) 0033 include_directories( 0034 ${CFITSIO_INCLUDE_DIR} 0035 ) 0036 endif() 0037 0038 # For config-gwenview.h 0039 include_directories( 0040 ${CMAKE_CURRENT_BINARY_DIR}/.. 0041 ) 0042 0043 set(gwenviewlib_SRCS 0044 bcg/bcgimageoperation.cpp 0045 bcg/bcgtool.cpp 0046 bcg/bcgwidget.cpp 0047 bcg/imageutils.cpp 0048 cms/iccjpeg.c 0049 cms/cmsprofile.cpp 0050 cms/cmsprofile_png.cpp 0051 contextmanager.cpp 0052 crop/cropwidget.cpp 0053 crop/cropimageoperation.cpp 0054 crop/croptool.cpp 0055 document/abstractdocumentimpl.cpp 0056 document/documentjob.cpp 0057 document/animateddocumentloadedimpl.cpp 0058 document/document.cpp 0059 document/documentfactory.cpp 0060 document/documentloadedimpl.cpp 0061 document/emptydocumentimpl.cpp 0062 document/jpegdocumentloadedimpl.cpp 0063 document/loadingdocumentimpl.cpp 0064 document/loadingjob.cpp 0065 document/savejob.cpp 0066 document/svgdocumentloadedimpl.cpp 0067 document/videodocumentloadedimpl.cpp 0068 documentview/abstractdocumentviewadapter.cpp 0069 documentview/abstractimageview.cpp 0070 documentview/abstractrasterimageviewtool.cpp 0071 documentview/alphabackgrounditem.cpp 0072 documentview/birdeyeview.cpp 0073 documentview/documentview.cpp 0074 documentview/documentviewcontroller.cpp 0075 documentview/documentviewsynchronizer.cpp 0076 documentview/loadingindicator.cpp 0077 documentview/messageviewadapter.cpp 0078 documentview/rasterimageview.cpp 0079 documentview/rasterimageviewadapter.cpp 0080 documentview/rasterimageitem.cpp 0081 documentview/svgviewadapter.cpp 0082 documentview/videoviewadapter.cpp 0083 about.cpp 0084 abstractimageoperation.cpp 0085 disabledactionshortcutmonitor.cpp 0086 documentonlyproxymodel.cpp 0087 documentview/documentviewcontainer.cpp 0088 binder.cpp 0089 eventwatcher.cpp 0090 historymodel.cpp 0091 recentfilesmodel.cpp 0092 archiveutils.cpp 0093 datewidget.cpp 0094 decoratedtag/decoratedtag.cpp 0095 exiv2imageloader.cpp 0096 flowlayout.cpp 0097 fullscreenbar.cpp 0098 hud/hudbutton.cpp 0099 hud/hudbuttonbox.cpp 0100 hud/hudcountdown.cpp 0101 hud/hudlabel.cpp 0102 hud/hudmessagebubble.cpp 0103 hud/hudslider.cpp 0104 hud/hudtheme.cpp 0105 hud/hudwidget.cpp 0106 graphicswidgetfloater.cpp 0107 imagemetainfomodel.cpp 0108 imageutils.cpp 0109 invisiblebuttongroup.cpp 0110 iodevicejpegsourcemanager.cpp 0111 jpegcontent.cpp 0112 kindproxymodel.cpp 0113 semanticinfo/sorteddirmodel.cpp 0114 memoryutils.cpp 0115 mimetypeutils.cpp 0116 paintutils.cpp 0117 placetreemodel.cpp 0118 preferredimagemetainfomodel.cpp 0119 print/printhelper.cpp 0120 print/printoptionspage.cpp 0121 recursivedirmodel.cpp 0122 shadowfilter.cpp 0123 slidecontainer.cpp 0124 slideshow.cpp 0125 statusbartoolbutton.cpp 0126 stylesheetutils.cpp 0127 redeyereduction/redeyereductionimageoperation.cpp 0128 redeyereduction/redeyereductiontool.cpp 0129 resize/resizeimageoperation.cpp 0130 resize/resizeimagedialog.cpp 0131 thumbnailprovider/thumbnailgenerator.cpp 0132 thumbnailprovider/thumbnailprovider.cpp 0133 thumbnailprovider/thumbnailwriter.cpp 0134 thumbnailview/abstractthumbnailviewhelper.cpp 0135 thumbnailview/abstractdocumentinfoprovider.cpp 0136 thumbnailview/dragpixmapgenerator.cpp 0137 thumbnailview/itemeditor.cpp 0138 thumbnailview/previewitemdelegate.cpp 0139 thumbnailview/thumbnailbarview.cpp 0140 thumbnailview/thumbnailslider.cpp 0141 thumbnailview/thumbnailview.cpp 0142 thumbnailview/tooltipwidget.cpp 0143 timeutils.cpp 0144 transformimageoperation.cpp 0145 urlutils.cpp 0146 widgetfloater.cpp 0147 zoomcombobox/zoomcombobox.cpp 0148 zoomslider.cpp 0149 zoomwidget.cpp 0150 scrollerutils.cpp 0151 touch/touch.cpp 0152 touch/tapholdandmoving.cpp 0153 touch/twofingerpan.cpp 0154 touch/oneandtwofingerswipe.cpp 0155 touch/doubletap.cpp 0156 touch/twofingertap.cpp 0157 touch/touch_helper.cpp 0158 ${GV_JPEG_DIR}/transupp.c 0159 ) 0160 if (kImageAnnotator_FOUND) 0161 set(gwenviewlib_SRCS ${gwenviewlib_SRCS} 0162 annotate/annotatedialog.cpp 0163 annotate/annotateoperation.cpp 0164 annotate/annotatedialog.h 0165 annotate/annotateoperation.h 0166 ) 0167 endif() 0168 0169 if (NOT GWENVIEW_NO_WAYLAND_GESTURES) 0170 set(gwenviewlib_SRCS ${gwenviewlib_SRCS} 0171 waylandgestures/waylandgestures.cpp 0172 waylandgestures/waylandgestures.h 0173 ) 0174 endif() 0175 0176 set_source_files_properties(${GV_JPEG_DIR}/transupp.c PROPERTIES SKIP_UNITY_BUILD_INCLUSION ON) 0177 0178 0179 ecm_qt_declare_logging_category(gwenviewlib_SRCS HEADER gwenview_lib_debug.h IDENTIFIER GWENVIEW_LIB_LOG CATEGORY_NAME org.kde.kdegraphics.gwenview.lib) 0180 ecm_qt_declare_logging_category(gwenviewlib_SRCS HEADER gwenview_exiv2_debug.h IDENTIFIER GWENVIEW_EXIV2_LOG CATEGORY_NAME org.kde.kdegraphics.gwenview.exiv2 DEFAULT_SEVERITY Critical DESCRIPTION "gwenview lib exiv2 (kdegraphics)" EXPORT GWENVIEW) 0181 0182 if(HAVE_QTDBUS) 0183 set(gwenviewlib_SRCS 0184 ${gwenviewlib_SRCS} 0185 mpris2/lockscreenwatcher.cpp 0186 mpris2/dbusabstractadaptor.cpp 0187 mpris2/mpris2service.cpp 0188 mpris2/mprismediaplayer2.cpp 0189 mpris2/mprismediaplayer2player.cpp 0190 mpris2/lockscreenwatcher.h 0191 mpris2/dbusabstractadaptor.h 0192 mpris2/mpris2service.h 0193 mpris2/mprismediaplayer2.h 0194 mpris2/mprismediaplayer2player.h 0195 ) 0196 qt_add_dbus_interface(gwenviewlib_SRCS mpris2/org.freedesktop.ScreenSaver.xml screensaverdbusinterface) 0197 endif() 0198 0199 if(HAVE_FITS) 0200 set(gwenviewlib_SRCS 0201 ${gwenviewlib_SRCS} 0202 imageformats/fitsplugin.cpp 0203 imageformats/fitshandler.cpp 0204 imageformats/fitsformat/bayer.c 0205 imageformats/fitsformat/fitsdata.cpp 0206 imageformats/fitsplugin.h 0207 imageformats/fitshandler.h 0208 imageformats/fitsformat/bayer.h 0209 imageformats/fitsformat/fitsdata.h 0210 ) 0211 endif() 0212 0213 if (NOT GWENVIEW_SEMANTICINFO_BACKEND_NONE) 0214 set(gwenviewlib_SRCS 0215 ${gwenviewlib_SRCS} 0216 semanticinfo/abstractsemanticinfobackend.cpp 0217 semanticinfo/semanticinfodirmodel.cpp 0218 semanticinfo/tagitemdelegate.cpp 0219 semanticinfo/tagmodel.cpp 0220 semanticinfo/tagwidget.cpp 0221 semanticinfo/abstractsemanticinfobackend.h 0222 semanticinfo/semanticinfodirmodel.h 0223 semanticinfo/tagitemdelegate.h 0224 semanticinfo/tagmodel.h 0225 semanticinfo/tagwidget.h 0226 ) 0227 endif() 0228 0229 if (GWENVIEW_SEMANTICINFO_BACKEND_FAKE) 0230 set(gwenviewlib_SRCS 0231 ${gwenviewlib_SRCS} 0232 semanticinfo/fakesemanticinfobackend.cpp 0233 semanticinfo/fakesemanticinfobackend.h 0234 ) 0235 endif() 0236 0237 if (GWENVIEW_SEMANTICINFO_BACKEND_BALOO) 0238 set(gwenviewlib_SRCS 0239 ${gwenviewlib_SRCS} 0240 semanticinfo/baloosemanticinfobackend.cpp 0241 semanticinfo/baloosemanticinfobackend.h 0242 ) 0243 endif() 0244 0245 kde_source_files_enable_exceptions( 0246 exiv2imageloader.cpp 0247 imagemetainfomodel.cpp 0248 timeutils.cpp 0249 cms/cmsprofile.cpp 0250 document/abstractdocumentimpl.cpp 0251 document/document.cpp 0252 document/loadingdocumentimpl.cpp 0253 jpegcontent.cpp 0254 exiv2imageloader.h 0255 imagemetainfomodel.h 0256 timeutils.h 0257 cms/cmsprofile.h 0258 document/abstractdocumentimpl.h 0259 document/document.h 0260 document/loadingdocumentimpl.h 0261 jpegcontent.h 0262 ) 0263 0264 ki18n_wrap_ui(gwenviewlib_SRCS 0265 documentview/messageview.ui 0266 print/printoptionspage.ui 0267 redeyereduction/redeyereductionwidget.ui 0268 resize/resizeimagewidget.ui 0269 ) 0270 0271 kconfig_add_kcfg_files(gwenviewlib_SRCS 0272 gwenviewconfig.kcfgc 0273 ) 0274 0275 add_library(gwenviewlib SHARED ${gwenviewlib_SRCS}) 0276 generate_export_header(gwenviewlib BASE_NAME gwenviewlib) 0277 set_target_properties(gwenviewlib PROPERTIES VERSION ${LIBGWENVIEW_VERSION} SOVERSION 5) 0278 if (WIN32) 0279 set_target_properties(gwenviewlib PROPERTIES COMPILE_FLAGS -DJPEG_STATIC) 0280 endif() 0281 0282 target_link_libraries(gwenviewlib 0283 Qt::Concurrent 0284 Qt::Svg 0285 Qt::PrintSupport 0286 KF6::GuiAddons 0287 KF6::ConfigGui 0288 KF6::KIOCore 0289 KF6::KIOWidgets 0290 KF6::KIOFileWidgets 0291 KF6::I18n 0292 KF6::WindowSystem 0293 KF6::IconThemes 0294 KF6::XmlGui 0295 LibExiv2::LibExiv2 0296 JPEG::JPEG 0297 PNG::PNG 0298 ${LCMS2_LIBRARIES} 0299 Phonon::phonon4qt6 0300 ) 0301 if (QT_MAJOR_VERSION STREQUAL "6") 0302 target_link_libraries(gwenviewlib Qt6::OpenGLWidgets KF6::IconWidgets) 0303 endif() 0304 0305 0306 if(HAVE_QTDBUS) 0307 target_link_libraries(gwenviewlib Qt::DBus) 0308 endif() 0309 if(HAVE_FITS) 0310 target_link_libraries(gwenviewlib ${CFITSIO_LIBRARIES}) 0311 endif() 0312 0313 if (WIN32) 0314 target_link_libraries(gwenviewlib ${EXPAT_LIBRARIES}) 0315 endif() 0316 0317 if (KF5KDcraw_FOUND) 0318 target_link_libraries(gwenviewlib KF5::KDcraw) 0319 elseif(KDcrawQt6_FOUND) 0320 target_link_libraries(gwenviewlib KDcrawQt6) 0321 endif() 0322 0323 if (HAVE_X11) 0324 target_link_libraries(gwenviewlib X11::X11) 0325 if (QT_MAJOR_VERSION STREQUAL "5") 0326 target_link_libraries(gwenviewlib Qt5::X11Extras) 0327 else() 0328 target_link_libraries(gwenviewlib Qt6::GuiPrivate) # Gui/private/qtx11extras_p.h 0329 endif() 0330 endif() 0331 0332 if (QT_MAJOR_VERSION STREQUAL "6") 0333 target_link_libraries(gwenviewlib Qt6::SvgWidgets) 0334 endif() 0335 0336 if (GWENVIEW_SEMANTICINFO_BACKEND_BALOO) 0337 target_link_libraries(gwenviewlib 0338 KF6::Baloo 0339 KF6::FileMetaData 0340 ) 0341 endif() 0342 0343 if(kImageAnnotator_FOUND) 0344 target_link_libraries(gwenviewlib kImageAnnotator::kImageAnnotator) 0345 endif() 0346 0347 if (NOT GWENVIEW_NO_WAYLAND_GESTURES) 0348 if (QT_MAJOR_VERSION EQUAL "5") 0349 ecm_add_qtwayland_client_protocol(wayland_SRCS 0350 PROTOCOL ${WaylandProtocols_DATADIR}/unstable/pointer-gestures/pointer-gestures-unstable-v1.xml 0351 BASENAME pointer-gestures-unstable-v1 0352 ) 0353 else() 0354 qt6_generate_wayland_protocol_client_sources(gwenviewlib FILES 0355 ${WaylandProtocols_DATADIR}/unstable/pointer-gestures/pointer-gestures-unstable-v1.xml) 0356 endif() 0357 0358 target_sources(gwenviewlib PRIVATE ${wayland_SRCS}) 0359 target_link_libraries(gwenviewlib Wayland::Client Qt::WaylandClient Qt::GuiPrivate) 0360 target_sources(gwenviewlib PRIVATE waylandgestures/waylandgestures.cpp waylandgestures/waylandgestures.h) 0361 endif() 0362 0363 install(TARGETS gwenviewlib ${KDE_INSTALL_TARGETS_DEFAULT_ARGS} LIBRARY NAMELINK_SKIP)