Warning, /graphics/okular/CMakeLists.txt is written in an unsupported language. File is not indexed.
0001 cmake_minimum_required(VERSION 3.22) 0002 0003 # KDE Application Version, managed by release script 0004 set (RELEASE_SERVICE_VERSION_MAJOR "24") 0005 set (RELEASE_SERVICE_VERSION_MINOR "01") 0006 set (RELEASE_SERVICE_VERSION_MICRO "95") 0007 set (RELEASE_SERVICE_VERSION "${RELEASE_SERVICE_VERSION_MAJOR}.${RELEASE_SERVICE_VERSION_MINOR}.${RELEASE_SERVICE_VERSION_MICRO}") 0008 0009 project(okular VERSION ${RELEASE_SERVICE_VERSION}) 0010 0011 set(QT_REQUIRED_VERSION "6.6.0") # Remember to update the QT_DEPRECATED_WARNINGS_SINCE below 0012 set(KF_REQUIRED_VERSION "5.240.0") # Remember to update the KF_DEPRECATED_WARNINGS_SINCE below 0013 0014 set(OKULAR_UI "" CACHE STRING "Which Okular user interface to build. Possible values: desktop, mobile, both. Default: desktop (except on Android, where it is 'mobile')") 0015 0016 set(FORCE_NOT_REQUIRED_DEPENDENCIES "" CACHE STRING "List (semicolon-separated) of dependencies that will be downgraded from REQUIRED to RECOMMENDED") 0017 0018 find_package(ECM ${KF_REQUIRED_VERSION} CONFIG REQUIRED) 0019 set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${ECM_MODULE_PATH}) 0020 0021 include(ECMInstallIcons) 0022 include(ECMSetupVersion) 0023 include(ECMOptionalAddSubdirectory) 0024 include(GenerateExportHeader) 0025 include(FeatureSummary) 0026 include(ECMAddAppIcon) 0027 include(KDECompilerSettings NO_POLICY_SCOPE) 0028 include(KDEInstallDirs) 0029 include(KDECMakeSettings) 0030 include(ECMAddTests) 0031 include(ECMAddAppIcon) 0032 include(CMakePackageConfigHelpers) 0033 include(ECMSetupQtPluginMacroNames) 0034 0035 if (ANDROID AND (FORCE_NOT_REQUIRED_DEPENDENCIES STREQUAL "")) 0036 set(FORCE_NOT_REQUIRED_DEPENDENCIES "KF6Wallet;KF6DocTools;Qt6Qml;TIFF;JPEG;LibSpectre;KExiv2Qt6;CHM;LibZip;DjVuLibre;EPub;Discount;") 0037 endif() 0038 0039 function(set_okular_optional_package_properties _name _props) 0040 if(NOT "${_props}" STREQUAL "PROPERTIES") 0041 message(FATAL_ERROR "PROPERTIES keyword is missing in set_okular_optional_package_properties() call.") 0042 endif() 0043 0044 set(options) # none 0045 set(oneValueArgs DESCRIPTION URL PURPOSE) 0046 set(multiValueArgs) # none 0047 0048 CMAKE_PARSE_ARGUMENTS(_SPP "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN}) 0049 0050 if(_SPP_UNPARSED_ARGUMENTS) 0051 message(FATAL_ERROR "Unknown keywords given to set_okular_optional_package_properties(): \"${_SPP_UNPARSED_ARGUMENTS}\"") 0052 endif() 0053 0054 set(DEPENDENCY_TYPE "REQUIRED") 0055 if (${_name} IN_LIST FORCE_NOT_REQUIRED_DEPENDENCIES) 0056 set(DEPENDENCY_TYPE "RECOMMENDED") 0057 endif() 0058 set_package_properties(${_name} PROPERTIES 0059 TYPE ${DEPENDENCY_TYPE} 0060 DESCRIPTION ${_SPP_DESCRIPTION} 0061 URL ${_SPP_URL} 0062 PURPOSE "${_SPP_PURPOSE} You can make the dependency optional adding ${_name} to the FORCE_NOT_REQUIRED_DEPENDENCIES cmake option" 0063 ) 0064 endfunction() 0065 0066 if(OKULAR_UI STREQUAL "") 0067 if(ANDROID) 0068 set(OKULAR_UI "mobile") 0069 else() 0070 set(OKULAR_UI "desktop") 0071 endif() 0072 endif() 0073 0074 if(OKULAR_UI STREQUAL "desktop" OR OKULAR_UI STREQUAL "both") 0075 set(BUILD_DESKTOP ON) 0076 else() 0077 set(BUILD_DESKTOP OFF) 0078 endif() 0079 if(OKULAR_UI STREQUAL "mobile" OR OKULAR_UI STREQUAL "both") 0080 set(BUILD_MOBILE ON) 0081 else() 0082 set(BUILD_MOBILE OFF) 0083 endif() 0084 0085 # append the plugins from the install tree folder to the QT_PLUGIN_PATH 0086 if(UNIX) 0087 set(ENV{QT_PLUGIN_PATH} "$ENV{QT_PLUGIN_PATH}:${KDE_INSTALL_FULL_QTPLUGINDIR}") 0088 elseif(WIN32) 0089 set(ENV{QT_PLUGIN_PATH} "$ENV{QT_PLUGIN_PATH};${KDE_INSTALL_FULL_QTPLUGINDIR}") 0090 endif() 0091 0092 set(CMAKE_CXX_STANDARD 17) 0093 set(CMAKE_CXX_STANDARD_REQUIRED ON) 0094 set(CMAKE_CXX_EXTENSIONS OFF) 0095 0096 ecm_setup_version(${PROJECT_VERSION} 0097 VARIABLE_PREFIX OKULAR 0098 VERSION_HEADER "${CMAKE_CURRENT_BINARY_DIR}/core/version.h" 0099 PACKAGE_VERSION_FILE "${CMAKE_CURRENT_BINARY_DIR}/Okular6ConfigVersion.cmake") 0100 0101 find_package(Qt6 ${QT_REQUIRED_VERSION} CONFIG REQUIRED COMPONENTS Core Test Widgets PrintSupport Svg Xml) 0102 0103 ecm_setup_qtplugin_macro_names( 0104 JSON_ARG2 0105 "OKULAR_EXPORT_PLUGIN" 0106 CONFIG_CODE_VARIABLE 0107 PACKAGE_SETUP_AUTOMOC_VARIABLES 0108 ) 0109 0110 find_package(KF6 ${KF_REQUIRED_VERSION} REQUIRED COMPONENTS 0111 Archive 0112 Bookmarks 0113 Completion 0114 Config 0115 ConfigWidgets 0116 CoreAddons 0117 I18n 0118 KIO 0119 ThreadWeaver 0120 WindowSystem 0121 XmlGui 0122 ) 0123 0124 if (NOT WIN32) 0125 find_package(KF6Wallet ${KF_REQUIRED_VERSION}) 0126 set_okular_optional_package_properties(KF6Wallet PROPERTIES 0127 PURPOSE "Required for document storing passwords in secure wallets.") 0128 endif() 0129 if(KF6Wallet_FOUND) 0130 set(HAVE_KWALLET 1) 0131 else() 0132 set(HAVE_KWALLET 0) 0133 endif() 0134 0135 find_package(KF6DocTools ${KF_REQUIRED_VERSION}) 0136 set_okular_optional_package_properties(KF6DocTools PROPERTIES 0137 PURPOSE "Required for compiling and installing the user documentation.") 0138 0139 find_package(Qt6Qml) 0140 set_okular_optional_package_properties(Qt6Qml PROPERTIES 0141 PURPOSE "Required for supporting JavaScript in PDF documents") 0142 if(TARGET Qt6::Qml) 0143 set(HAVE_JS 1) 0144 else() 0145 set(HAVE_JS 0) 0146 endif() 0147 0148 if (BUILD_DESKTOP) 0149 find_package(Qt6DBus) 0150 set_okular_optional_package_properties(Qt6DBus PROPERTIES 0151 PURPOSE "Required for interprocess communication, external open in same instance and various presentation related bits.") 0152 if(TARGET Qt6::DBus) 0153 set(HAVE_DBUS 1) 0154 else() 0155 set(HAVE_DBUS 0) 0156 endif() 0157 find_package(KF6 ${KF_REQUIRED_VERSION} REQUIRED COMPONENTS Parts Crash IconThemes TextWidgets) 0158 0159 find_package(KF6Purpose) 0160 set_okular_optional_package_properties(KF6Purpose PROPERTIES 0161 DESCRIPTION "A framework for services and actions integration" 0162 PURPOSE "Required for enabling the share menu.") 0163 if (KF6Purpose_FOUND) 0164 set(HAVE_PURPOSE 1) 0165 else() 0166 set(HAVE_PURPOSE 0) 0167 endif() 0168 0169 find_package(Qt6TextToSpeech ${QT_REQUIRED_VERSION} CONFIG) 0170 set_okular_optional_package_properties(Qt6TextToSpeech PROPERTIES 0171 PURPOSE "Enables speech features.") 0172 if (Qt6TextToSpeech_FOUND) 0173 set(HAVE_SPEECH 1) 0174 else() 0175 set(HAVE_SPEECH 0) 0176 endif() 0177 endif() 0178 0179 if (BUILD_MOBILE) 0180 find_package(Qt6 ${QT_REQUIRED_VERSION} CONFIG REQUIRED COMPONENTS Qml Quick) 0181 find_package(KF6Kirigami2) 0182 set_package_properties(KF6Kirigami2 PROPERTIES 0183 DESCRIPTION "A QtQuick based components set" 0184 PURPOSE "Required at runtime by the mobile app" 0185 TYPE RUNTIME 0186 ) 0187 find_package(KF6KirigamiAddons) 0188 set_package_properties(KF6KirigamiAddons PROPERTIES 0189 DESCRIPTION "A set of widgets for Kirigami along with code to support them" 0190 PURPOSE "Required at runtime by the mobile app" 0191 TYPE RUNTIME 0192 ) 0193 endif() 0194 0195 if(NOT WIN32 AND NOT ANDROID AND NOT APPLE) 0196 find_package(Qt6Gui REQUIRED COMPONENTS Private) 0197 find_package(PlasmaActivities REQUIRED) 0198 set_package_properties("PlasmaActivities" PROPERTIES 0199 DESCRIPTION "Activities interface library" 0200 URL "https://invent.kde.org/plasma/plasma-activities" 0201 PURPOSE "Required for Activities integration." 0202 ) 0203 set(HAVE_X11 TRUE) 0204 else() 0205 set(HAVE_X11 FALSE) 0206 endif() 0207 find_package(Phonon4Qt6 CONFIG) 0208 set_okular_optional_package_properties(Phonon4Qt6 PROPERTIES 0209 PURPOSE "Required for documents with audio or video elements") 0210 if (Phonon4Qt6_FOUND) 0211 set(HAVE_PHONON 1) 0212 else() 0213 set(HAVE_PHONON 0) 0214 endif() 0215 0216 set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_SOURCE_DIR}/cmake/modules) 0217 0218 find_package(ZLIB REQUIRED) 0219 0220 find_package(Poppler "22.02.0" COMPONENTS Qt6) 0221 set_okular_optional_package_properties(Poppler PROPERTIES 0222 PURPOSE "Support for PDF files in okular.") 0223 0224 find_package(Freetype) 0225 set_okular_optional_package_properties(Freetype PROPERTIES 0226 DESCRIPTION "A font rendering engine" 0227 URL "https://www.freetype.org" 0228 PURPOSE "Provides freetype font support in the okular DVI generator.") 0229 0230 find_package(TIFF) 0231 set_okular_optional_package_properties(TIFF PROPERTIES 0232 DESCRIPTION "A library for reading and writing TIFF formatted files," 0233 URL "http://www.libtiff.org" 0234 PURPOSE "Support for TIFF files in okular.") 0235 0236 find_package(JPEG) 0237 set_okular_optional_package_properties(JPEG PROPERTIES 0238 DESCRIPTION "A library for reading and writing JPEG image files." 0239 URL "https://www.ijg.org" 0240 PURPOSE "Support for PalmDB documents in okular.") 0241 0242 set(LIBSPECTRE_MINIMUM_VERSION "0.2") 0243 find_package(LibSpectre "${LIBSPECTRE_MINIMUM_VERSION}") 0244 set_okular_optional_package_properties(LibSpectre PROPERTIES 0245 DESCRIPTION "A PostScript rendering library" 0246 URL "https://libspectre.freedesktop.org" 0247 PURPOSE "Support for PS files in okular.") 0248 0249 find_package(KExiv2Qt6 CONFIG) 0250 set_okular_optional_package_properties(KExiv2Qt6 PROPERTIES 0251 DESCRIPTION "Wrapper around Exiv2 library" 0252 URL "https://commits.kde.org/libkexiv2" 0253 PURPOSE "Support for exif rotation in image files.") 0254 0255 if (FALSE ) # Investigate porting at some point 0256 find_package(CHM) 0257 set_okular_optional_package_properties(CHM PROPERTIES 0258 DESCRIPTION "A library for dealing with Microsoft ITSS/CHM format files" 0259 URL "http://www.jedrea.com/chmlib" 0260 PURPOSE "Support CHM files in okular.") 0261 0262 endif() 0263 0264 find_package(LibZip) 0265 set_okular_optional_package_properties(LibZip PROPERTIES 0266 DESCRIPTION "A library for reading, creating, and modifying zip archives" 0267 URL "https://libzip.org/" 0268 PURPOSE "Support CHM files in okular.") 0269 0270 find_package(DjVuLibre "3.5.28") 0271 set_okular_optional_package_properties(DjVuLibre PROPERTIES 0272 DESCRIPTION "A library for dealing with DjVu formatted files" 0273 URL "https://djvulibre.djvuzone.org" 0274 PURPOSE "Support for DjVu files in okular.") 0275 0276 find_package(EPub) 0277 set_okular_optional_package_properties(EPub PROPERTIES 0278 DESCRIPTION "A library for reading EPub documents" 0279 URL "http://sourceforge.net/projects/ebook-tools" 0280 PURPOSE "Support for EPub documents in Okular.") 0281 0282 find_package(QMobipocket6 "2" CONFIG) 0283 set_okular_optional_package_properties(QMobiPocket6 PROPERTIES 0284 DESCRIPTION "A library for reading Mobipocket documents" 0285 URL "https://commits.kde.org/kdegraphics-mobipocket" 0286 PURPOSE "Support for Mobipocket documents in Okular.") 0287 0288 find_package(Discount) 0289 set_okular_optional_package_properties(Discount PROPERTIES 0290 DESCRIPTION "A library that gives you formatting functions suitable for marking down entire documents or lines of text" 0291 URL "https://www.pell.portland.or.us/~orc/Code/discount/" 0292 PURPOSE "Support for Markdown documents in Okular.") 0293 0294 add_definitions(-DTRANSLATION_DOMAIN="okular") 0295 add_definitions(-DQT_DEPRECATED_WARNINGS_SINCE=0x060600) 0296 add_definitions(-DKF_DEPRECATED_WARNINGS_SINCE=0x05F000) 0297 0298 include_directories(${CMAKE_CURRENT_SOURCE_DIR} ${PHONON_INCLUDES} core/synctex ${CMAKE_BINARY_DIR}/core) 0299 0300 option(BUILD_COVERAGE "Build the project with gcov support" OFF) 0301 0302 if(BUILD_COVERAGE) 0303 set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fprofile-arcs -ftest-coverage") 0304 set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -lgcov") 0305 endif() 0306 0307 add_subdirectory( icons ) # an own directory for multi-size icons retrieved by KIconThemeLoader 0308 add_subdirectory( part ) 0309 if(BUILD_DESKTOP) 0310 add_subdirectory( shell ) 0311 endif() 0312 add_subdirectory( generators ) 0313 0314 if(BUILD_MOBILE) 0315 add_subdirectory( mobile ) 0316 endif() 0317 0318 if(BUILD_TESTING) 0319 add_subdirectory( autotests ) 0320 endif() 0321 0322 if(KF6DocTools_FOUND) 0323 add_subdirectory(doc) 0324 endif() 0325 0326 include(OkularConfigureChecks.cmake) 0327 0328 if(NOT WIN32) 0329 set(MATH_LIB m) 0330 else(NOT WIN32) 0331 set(MATH_LIB) 0332 endif(NOT WIN32) 0333 0334 # okularcore 0335 0336 set(okularcore_SRCS 0337 core/action.cpp 0338 core/annotations.cpp 0339 core/area.cpp 0340 core/audioplayer.cpp 0341 core/bookmarkmanager.cpp 0342 core/chooseenginedialog.cpp 0343 core/document.cpp 0344 core/documentcommands.cpp 0345 core/fontinfo.cpp 0346 core/form.cpp 0347 core/generator.cpp 0348 core/generator_p.cpp 0349 core/misc.cpp 0350 core/movie.cpp 0351 core/observer.cpp 0352 core/debug.cpp 0353 core/page.cpp 0354 core/pagecontroller.cpp 0355 core/pagesize.cpp 0356 core/pagetransition.cpp 0357 core/rotationjob.cpp 0358 core/scripter.cpp 0359 core/sound.cpp 0360 core/sourcereference.cpp 0361 core/textdocumentgenerator.cpp 0362 core/textdocumentsettings.cpp 0363 core/textpage.cpp 0364 core/tilesmanager.cpp 0365 core/utils.cpp 0366 core/view.cpp 0367 core/fileprinter.cpp 0368 core/printoptionswidget.cpp 0369 core/signatureutils.cpp 0370 core/script/event.cpp 0371 core/synctex/synctex_parser.c 0372 core/synctex/synctex_parser_utils.c 0373 ) 0374 qt_add_resources(okularcore_SRCS 0375 core/script/builtin.qrc 0376 ) 0377 0378 ki18n_wrap_ui(okularcore_SRCS 0379 part/textdocumentsettings.ui 0380 ) 0381 0382 install( FILES 0383 core/action.h 0384 core/annotations.h 0385 core/area.h 0386 core/document.h 0387 core/fontinfo.h 0388 core/form.h 0389 core/generator.h 0390 core/global.h 0391 core/page.h 0392 core/pagesize.h 0393 core/pagetransition.h 0394 core/signatureutils.h 0395 core/sound.h 0396 core/sourcereference.h 0397 core/textdocumentgenerator.h 0398 core/textdocumentsettings.h 0399 core/textpage.h 0400 core/tile.h 0401 core/utils.h 0402 core/fileprinter.h 0403 core/printoptionswidget.h 0404 core/observer.h 0405 ${CMAKE_CURRENT_BINARY_DIR}/core/version.h 0406 ${CMAKE_CURRENT_BINARY_DIR}/core/okularcore_export.h 0407 ${CMAKE_CURRENT_BINARY_DIR}/settings_core.h 0408 DESTINATION ${KDE_INSTALL_INCLUDEDIR}/okular/core COMPONENT Devel) 0409 0410 install( FILES 0411 interfaces/configinterface.h 0412 interfaces/guiinterface.h 0413 interfaces/printinterface.h 0414 interfaces/saveinterface.h 0415 interfaces/viewerinterface.h 0416 DESTINATION ${KDE_INSTALL_INCLUDEDIR}/okular/interfaces COMPONENT Devel) 0417 0418 ki18n_wrap_ui(okularcore_SRCS 0419 core/chooseenginewidget.ui 0420 ) 0421 0422 kconfig_add_kcfg_files(okularcore_SRCS GENERATE_MOC conf/settings_core.kcfgc) 0423 0424 add_library(okularcore SHARED ${okularcore_SRCS}) 0425 generate_export_header(okularcore BASE_NAME okularcore EXPORT_FILE_NAME "${CMAKE_CURRENT_BINARY_DIR}/core/okularcore_export.h") 0426 target_include_directories(okularcore PUBLIC "$<INSTALL_INTERFACE:${KDE_INSTALL_INCLUDEDIR}>") 0427 0428 if (ANDROID) 0429 set(fileName ${CMAKE_BINARY_DIR}/Okular5Core-android-dependencies.xml) 0430 file(WRITE "${fileName}" "<rules><dependencies><lib name='Okular5Core'><depends>\n" 0431 "<bundled file='${KDE_INSTALL_PLUGINDIR}/okular/generators' />\n" 0432 "</depends></lib></dependencies></rules>\n") 0433 install(FILES ${fileName} DESTINATION ${KDE_INSTALL_LIBDIR}) 0434 endif() 0435 0436 0437 # Special handling for linking okularcore on OSX/Apple 0438 IF(APPLE) 0439 SET(OKULAR_IOKIT "-framework IOKit" CACHE STRING "Apple IOKit framework") 0440 ENDIF(APPLE) 0441 0442 # Extra library needed by imported synctex code on Windows 0443 if(WIN32) 0444 set(SHLWAPI shlwapi) 0445 endif(WIN32) 0446 0447 target_link_libraries(okularcore 0448 PRIVATE 0449 ${OKULAR_IOKIT} 0450 ${SHLWAPI} 0451 KF6::Archive 0452 KF6::KIOCore 0453 KF6::KIOWidgets 0454 KF6::I18n 0455 KF6::ThreadWeaver 0456 KF6::BookmarksWidgets 0457 KF6::Bookmarks 0458 Qt6::Svg 0459 ${MATH_LIB} 0460 ZLIB::ZLIB 0461 PUBLIC # these are included from the installed headers 0462 KF6::CoreAddons 0463 KF6::XmlGui 0464 KF6::ConfigGui 0465 Qt6::PrintSupport 0466 Qt6::Widgets 0467 ) 0468 if (Phonon4Qt6_FOUND) 0469 target_link_libraries(okularcore PRIVATE Phonon::phonon4qt6) 0470 endif() 0471 0472 0473 if (KF6Wallet_FOUND) 0474 target_link_libraries(okularcore PRIVATE KF6::Wallet) 0475 endif() 0476 if (TARGET Qt6::Qml) 0477 target_sources(okularcore PRIVATE 0478 core/script/executor_js.cpp 0479 core/script/js_app.cpp 0480 core/script/js_console.cpp 0481 core/script/js_data.cpp 0482 core/script/js_display.cpp 0483 core/script/js_document.cpp 0484 core/script/js_field.cpp 0485 core/script/js_fullscreen.cpp 0486 core/script/js_field.cpp 0487 core/script/js_spell.cpp 0488 core/script/js_util.cpp 0489 core/script/js_event.cpp 0490 core/script/js_ocg.cpp 0491 ) 0492 target_link_libraries(okularcore PRIVATE Qt6::Qml) 0493 endif() 0494 0495 set_target_properties(okularcore PROPERTIES VERSION 1.0.0 SOVERSION 1 OUTPUT_NAME Okular6Core EXPORT_NAME Core) 0496 0497 install(TARGETS okularcore EXPORT Okular6Targets ${KDE_INSTALL_TARGETS_DEFAULT_ARGS}) 0498 0499 install(FILES conf/okular.kcfg DESTINATION ${KDE_INSTALL_KCFGDIR}) 0500 install(FILES conf/okular_core.kcfg DESTINATION ${KDE_INSTALL_KCFGDIR}) 0501 0502 if(BUILD_DESKTOP) 0503 # okularpart 0504 set(okularpart_SRCS 0505 gui/certificatemodel.cpp 0506 gui/debug_ui.cpp 0507 gui/guiutils.cpp 0508 gui/pagepainter.cpp 0509 gui/signatureguiutils.cpp 0510 gui/signaturemodel.cpp 0511 gui/tocmodel.cpp 0512 part/preferencesdialog.cpp 0513 part/dlgaccessibility.cpp 0514 part/dlgdebug.cpp 0515 part/dlgeditor.cpp 0516 part/dlggeneral.cpp 0517 part/dlgannotations.cpp 0518 part/dlgperformance.cpp 0519 part/dlgpresentation.cpp 0520 part/editannottooldialog.cpp 0521 part/editdrawingtooldialog.cpp 0522 part/widgetannottools.cpp 0523 part/widgetconfigurationtoolsbase.cpp 0524 part/widgetdrawingtools.cpp 0525 part/part.cpp 0526 part/extensions.cpp 0527 part/embeddedfilesdialog.cpp 0528 part/actionbar.cpp 0529 part/annotationactionhandler.cpp 0530 part/annotwindow.cpp 0531 part/annotationmodel.cpp 0532 part/annotationpopup.cpp 0533 part/annotationpropertiesdialog.cpp 0534 part/annotationproxymodels.cpp 0535 part/annotationtools.cpp 0536 part/annotationwidgets.cpp 0537 part/bookmarklist.cpp 0538 part/certificateviewer.cpp 0539 part/colormodemenu.cpp 0540 part/cursorwraphelper.cpp 0541 part/drawingtoolactions.cpp 0542 part/fileprinterpreview.cpp 0543 part/findbar.cpp 0544 part/formwidgets.cpp 0545 part/ktreeviewsearchline.cpp 0546 part/latexrenderer.cpp 0547 part/minibar.cpp 0548 part/okmenutitle.cpp 0549 part/pageitemdelegate.cpp 0550 part/pagesizelabel.cpp 0551 part/pageviewannotator.cpp 0552 part/pageviewmouseannotation.cpp 0553 part/pageview.cpp 0554 part/magnifierview.cpp 0555 part/pageviewutils.cpp 0556 part/presentationsearchbar.cpp 0557 part/presentationwidget.cpp 0558 part/propertiesdialog.cpp 0559 part/revisionviewer.cpp 0560 part/searchlineedit.cpp 0561 part/searchwidget.cpp 0562 part/sidebar.cpp 0563 part/side_reviews.cpp 0564 part/snapshottaker.cpp 0565 part/thumbnaillist.cpp 0566 part/toc.cpp 0567 part/toggleactionmenu.cpp 0568 part/videowidget.cpp 0569 part/layers.cpp 0570 part/signaturepartutils.cpp 0571 part/signaturepropertiesdialog.cpp 0572 part/signaturepanel.cpp 0573 0574 part/part.qrc 0575 ) 0576 ki18n_wrap_ui(okularpart_SRCS part/selectcertificatedialog.ui) 0577 0578 if (Qt6TextToSpeech_FOUND) 0579 set(okularpart_SRCS ${okularpart_SRCS} 0580 part/tts.cpp) 0581 endif() 0582 0583 kconfig_add_kcfg_files(okularpart_SRCS GENERATE_MOC conf/settings.kcfgc) 0584 0585 add_library(okularpart SHARED ${okularpart_SRCS}) 0586 generate_export_header(okularpart BASE_NAME okularpart) 0587 0588 target_link_libraries(okularpart okularcore 0589 ${MATH_LIB} 0590 Qt6::Svg 0591 KF6::Archive 0592 KF6::Bookmarks 0593 KF6::I18n 0594 KF6::IconThemes 0595 KF6::ItemViews 0596 KF6::KIOCore 0597 KF6::KIOWidgets 0598 KF6::Parts 0599 KF6::WindowSystem 0600 KF6::TextWidgets 0601 ) 0602 if (TARGET Qt6::DBus) 0603 target_link_libraries(okularpart Qt6::DBus) 0604 endif() 0605 if (Phonon4Qt6_FOUND) 0606 target_link_libraries(okularpart Phonon::phonon4qt6) 0607 endif() 0608 0609 if(KF6Wallet_FOUND) 0610 target_link_libraries(okularpart KF6::Wallet) 0611 endif() 0612 0613 if (KF6Purpose_FOUND) 0614 target_link_libraries(okularpart KF6::PurposeWidgets) 0615 endif() 0616 0617 set_target_properties(okularpart PROPERTIES PREFIX "") 0618 set_target_properties(okularpart PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/kf6/parts) 0619 0620 if (Qt6TextToSpeech_FOUND) 0621 target_link_libraries(okularpart Qt6::TextToSpeech) 0622 endif() 0623 0624 #instead install the part to this path so it can be found 0625 install(TARGETS okularpart DESTINATION ${KDE_INSTALL_PLUGINDIR}/kf6/parts/ ) 0626 0627 endif()# End of BUILD_DESKTOP if 0628 0629 0630 ########### install files ############### 0631 0632 install(FILES okular.upd DESTINATION ${KDE_INSTALL_KCONFUPDATEDIR}) 0633 install(FILES okular.categories DESTINATION ${KDE_INSTALL_LOGGINGCATEGORIESDIR}) 0634 0635 ki18n_install(po) 0636 if(KF6DocTools_FOUND) 0637 kdoctools_install(po) 0638 endif() 0639 0640 ########### cmake files ################# 0641 0642 set(CMAKECONFIG_INSTALL_DIR "${KDE_INSTALL_CMAKEPACKAGEDIR}/Okular6") 0643 configure_package_config_file( 0644 "${CMAKE_CURRENT_SOURCE_DIR}/Okular6Config.cmake.in" 0645 "${CMAKE_CURRENT_BINARY_DIR}/Okular6Config.cmake" 0646 INSTALL_DESTINATION ${CMAKECONFIG_INSTALL_DIR} 0647 PATH_VARS KDE_INSTALL_INCLUDEDIR CMAKE_INSTALL_PREFIX 0648 ) 0649 0650 install(FILES 0651 "${CMAKE_CURRENT_BINARY_DIR}/Okular6Config.cmake" 0652 "${CMAKE_CURRENT_BINARY_DIR}/Okular6ConfigVersion.cmake" 0653 DESTINATION "${CMAKECONFIG_INSTALL_DIR}" 0654 COMPONENT Devel 0655 ) 0656 0657 install(EXPORT Okular6Targets DESTINATION "${CMAKECONFIG_INSTALL_DIR}" FILE Okular6Targets.cmake NAMESPACE Okular::) 0658 0659 install(FILES 0660 core/stamps.svg 0661 DESTINATION ${KDE_INSTALL_DATADIR}/okular/pics) 0662 0663 ########### summary ################# 0664 0665 feature_summary(WHAT ALL FATAL_ON_MISSING_REQUIRED_PACKAGES) 0666 0667 message("-- Building Desktop User Interface: ${BUILD_DESKTOP}") 0668 message("-- Building Mobile Interface: ${BUILD_MOBILE}") 0669 message("")