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 "04") 0006 set (RELEASE_SERVICE_VERSION_MICRO "70") 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;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 set(LIBSPECTRE_MINIMUM_VERSION "0.2") 0237 find_package(LibSpectre "${LIBSPECTRE_MINIMUM_VERSION}") 0238 set_okular_optional_package_properties(LibSpectre PROPERTIES 0239 DESCRIPTION "A PostScript rendering library" 0240 URL "https://libspectre.freedesktop.org" 0241 PURPOSE "Support for PS files in okular.") 0242 0243 find_package(KExiv2Qt6 CONFIG) 0244 set_okular_optional_package_properties(KExiv2Qt6 PROPERTIES 0245 DESCRIPTION "Wrapper around Exiv2 library" 0246 URL "https://commits.kde.org/libkexiv2" 0247 PURPOSE "Support for exif rotation in image files.") 0248 0249 if (FALSE ) # Investigate porting at some point 0250 find_package(CHM) 0251 set_okular_optional_package_properties(CHM PROPERTIES 0252 DESCRIPTION "A library for dealing with Microsoft ITSS/CHM format files" 0253 URL "http://www.jedrea.com/chmlib" 0254 PURPOSE "Support CHM files in okular.") 0255 0256 endif() 0257 0258 find_package(LibZip) 0259 set_okular_optional_package_properties(LibZip PROPERTIES 0260 DESCRIPTION "A library for reading, creating, and modifying zip archives" 0261 URL "https://libzip.org/" 0262 PURPOSE "Support CHM files in okular.") 0263 0264 find_package(DjVuLibre "3.5.28") 0265 set_okular_optional_package_properties(DjVuLibre PROPERTIES 0266 DESCRIPTION "A library for dealing with DjVu formatted files" 0267 URL "https://djvulibre.djvuzone.org" 0268 PURPOSE "Support for DjVu files in okular.") 0269 0270 find_package(EPub) 0271 set_okular_optional_package_properties(EPub PROPERTIES 0272 DESCRIPTION "A library for reading EPub documents" 0273 URL "http://sourceforge.net/projects/ebook-tools" 0274 PURPOSE "Support for EPub documents in Okular.") 0275 0276 find_package(QMobipocket6 "2" CONFIG) 0277 set_okular_optional_package_properties(QMobiPocket6 PROPERTIES 0278 DESCRIPTION "A library for reading Mobipocket documents" 0279 URL "https://commits.kde.org/kdegraphics-mobipocket" 0280 PURPOSE "Support for Mobipocket documents in Okular.") 0281 0282 find_package(Discount) 0283 set_okular_optional_package_properties(Discount PROPERTIES 0284 DESCRIPTION "A library that gives you formatting functions suitable for marking down entire documents or lines of text" 0285 URL "https://www.pell.portland.or.us/~orc/Code/discount/" 0286 PURPOSE "Support for Markdown documents in Okular.") 0287 0288 add_definitions(-DTRANSLATION_DOMAIN="okular") 0289 add_definitions(-DQT_DEPRECATED_WARNINGS_SINCE=0x060600) 0290 add_definitions(-DKF_DEPRECATED_WARNINGS_SINCE=0x05F000) 0291 0292 include_directories(${CMAKE_CURRENT_SOURCE_DIR} ${PHONON_INCLUDES} core/synctex ${CMAKE_BINARY_DIR}/core) 0293 0294 option(BUILD_COVERAGE "Build the project with gcov support" OFF) 0295 0296 if(BUILD_COVERAGE) 0297 set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fprofile-arcs -ftest-coverage") 0298 set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -lgcov") 0299 endif() 0300 0301 add_subdirectory( icons ) # an own directory for multi-size icons retrieved by KIconThemeLoader 0302 add_subdirectory( part ) 0303 if(BUILD_DESKTOP) 0304 add_subdirectory( shell ) 0305 endif() 0306 add_subdirectory( generators ) 0307 0308 if(BUILD_MOBILE) 0309 add_subdirectory( mobile ) 0310 endif() 0311 0312 if(BUILD_TESTING) 0313 add_subdirectory( autotests ) 0314 endif() 0315 0316 if(KF6DocTools_FOUND) 0317 add_subdirectory(doc) 0318 endif() 0319 0320 include(OkularConfigureChecks.cmake) 0321 0322 if(NOT WIN32) 0323 set(MATH_LIB m) 0324 else(NOT WIN32) 0325 set(MATH_LIB) 0326 endif(NOT WIN32) 0327 0328 # okularcore 0329 0330 set(okularcore_SRCS 0331 core/action.cpp 0332 core/annotations.cpp 0333 core/area.cpp 0334 core/audioplayer.cpp 0335 core/bookmarkmanager.cpp 0336 core/chooseenginedialog.cpp 0337 core/document.cpp 0338 core/documentcommands.cpp 0339 core/fontinfo.cpp 0340 core/form.cpp 0341 core/generator.cpp 0342 core/generator_p.cpp 0343 core/misc.cpp 0344 core/movie.cpp 0345 core/observer.cpp 0346 core/debug.cpp 0347 core/page.cpp 0348 core/pagecontroller.cpp 0349 core/pagesize.cpp 0350 core/pagetransition.cpp 0351 core/rotationjob.cpp 0352 core/scripter.cpp 0353 core/sound.cpp 0354 core/sourcereference.cpp 0355 core/textdocumentgenerator.cpp 0356 core/textdocumentsettings.cpp 0357 core/textpage.cpp 0358 core/tilesmanager.cpp 0359 core/utils.cpp 0360 core/view.cpp 0361 core/fileprinter.cpp 0362 core/printoptionswidget.cpp 0363 core/signatureutils.cpp 0364 core/script/event.cpp 0365 core/synctex/synctex_parser.c 0366 core/synctex/synctex_parser_utils.c 0367 ) 0368 qt_add_resources(okularcore_SRCS 0369 core/script/builtin.qrc 0370 ) 0371 0372 ki18n_wrap_ui(okularcore_SRCS 0373 part/textdocumentsettings.ui 0374 ) 0375 0376 install( FILES 0377 core/action.h 0378 core/annotations.h 0379 core/area.h 0380 core/document.h 0381 core/fontinfo.h 0382 core/form.h 0383 core/generator.h 0384 core/global.h 0385 core/page.h 0386 core/pagesize.h 0387 core/pagetransition.h 0388 core/signatureutils.h 0389 core/sound.h 0390 core/sourcereference.h 0391 core/textdocumentgenerator.h 0392 core/textdocumentsettings.h 0393 core/textpage.h 0394 core/tile.h 0395 core/utils.h 0396 core/fileprinter.h 0397 core/printoptionswidget.h 0398 core/observer.h 0399 ${CMAKE_CURRENT_BINARY_DIR}/core/version.h 0400 ${CMAKE_CURRENT_BINARY_DIR}/core/okularcore_export.h 0401 ${CMAKE_CURRENT_BINARY_DIR}/settings_core.h 0402 DESTINATION ${KDE_INSTALL_INCLUDEDIR}/okular/core COMPONENT Devel) 0403 0404 install( FILES 0405 interfaces/configinterface.h 0406 interfaces/guiinterface.h 0407 interfaces/printinterface.h 0408 interfaces/saveinterface.h 0409 interfaces/viewerinterface.h 0410 DESTINATION ${KDE_INSTALL_INCLUDEDIR}/okular/interfaces COMPONENT Devel) 0411 0412 ki18n_wrap_ui(okularcore_SRCS 0413 core/chooseenginewidget.ui 0414 ) 0415 0416 kconfig_add_kcfg_files(okularcore_SRCS GENERATE_MOC conf/settings_core.kcfgc) 0417 0418 add_library(okularcore SHARED ${okularcore_SRCS}) 0419 generate_export_header(okularcore BASE_NAME okularcore EXPORT_FILE_NAME "${CMAKE_CURRENT_BINARY_DIR}/core/okularcore_export.h") 0420 target_include_directories(okularcore PUBLIC "$<INSTALL_INTERFACE:${KDE_INSTALL_INCLUDEDIR}>") 0421 0422 if (ANDROID) 0423 set(fileName ${CMAKE_BINARY_DIR}/Okular5Core-android-dependencies.xml) 0424 file(WRITE "${fileName}" "<rules><dependencies><lib name='Okular5Core'><depends>\n" 0425 "<bundled file='${KDE_INSTALL_PLUGINDIR}/okular/generators' />\n" 0426 "</depends></lib></dependencies></rules>\n") 0427 install(FILES ${fileName} DESTINATION ${KDE_INSTALL_LIBDIR}) 0428 endif() 0429 0430 0431 # Special handling for linking okularcore on OSX/Apple 0432 IF(APPLE) 0433 SET(OKULAR_IOKIT "-framework IOKit" CACHE STRING "Apple IOKit framework") 0434 ENDIF(APPLE) 0435 0436 # Extra library needed by imported synctex code on Windows 0437 if(WIN32) 0438 set(SHLWAPI shlwapi) 0439 endif(WIN32) 0440 0441 target_link_libraries(okularcore 0442 PRIVATE 0443 ${OKULAR_IOKIT} 0444 ${SHLWAPI} 0445 KF6::Archive 0446 KF6::KIOCore 0447 KF6::KIOWidgets 0448 KF6::I18n 0449 KF6::ThreadWeaver 0450 KF6::BookmarksWidgets 0451 KF6::Bookmarks 0452 Qt6::Svg 0453 ${MATH_LIB} 0454 ZLIB::ZLIB 0455 PUBLIC # these are included from the installed headers 0456 KF6::CoreAddons 0457 KF6::XmlGui 0458 KF6::ConfigGui 0459 Qt6::PrintSupport 0460 Qt6::Widgets 0461 ) 0462 if (Phonon4Qt6_FOUND) 0463 target_link_libraries(okularcore PRIVATE Phonon::phonon4qt6) 0464 endif() 0465 0466 0467 if (KF6Wallet_FOUND) 0468 target_link_libraries(okularcore PRIVATE KF6::Wallet) 0469 endif() 0470 if (TARGET Qt6::Qml) 0471 target_sources(okularcore PRIVATE 0472 core/script/executor_js.cpp 0473 core/script/js_app.cpp 0474 core/script/js_console.cpp 0475 core/script/js_data.cpp 0476 core/script/js_display.cpp 0477 core/script/js_document.cpp 0478 core/script/js_field.cpp 0479 core/script/js_fullscreen.cpp 0480 core/script/js_field.cpp 0481 core/script/js_spell.cpp 0482 core/script/js_util.cpp 0483 core/script/js_event.cpp 0484 core/script/js_ocg.cpp 0485 ) 0486 target_link_libraries(okularcore PRIVATE Qt6::Qml) 0487 endif() 0488 0489 set_target_properties(okularcore PROPERTIES VERSION 1.0.0 SOVERSION 1 OUTPUT_NAME Okular6Core EXPORT_NAME Core) 0490 0491 install(TARGETS okularcore EXPORT Okular6Targets ${KDE_INSTALL_TARGETS_DEFAULT_ARGS}) 0492 0493 install(FILES conf/okular.kcfg DESTINATION ${KDE_INSTALL_KCFGDIR}) 0494 install(FILES conf/okular_core.kcfg DESTINATION ${KDE_INSTALL_KCFGDIR}) 0495 0496 if(BUILD_DESKTOP) 0497 # okularpart 0498 set(okularpart_SRCS 0499 gui/certificatemodel.cpp 0500 gui/debug_ui.cpp 0501 gui/guiutils.cpp 0502 gui/pagepainter.cpp 0503 gui/signatureguiutils.cpp 0504 gui/signaturemodel.cpp 0505 gui/tocmodel.cpp 0506 part/preferencesdialog.cpp 0507 part/dlgaccessibility.cpp 0508 part/dlgdebug.cpp 0509 part/dlgeditor.cpp 0510 part/dlggeneral.cpp 0511 part/dlgannotations.cpp 0512 part/dlgperformance.cpp 0513 part/dlgpresentation.cpp 0514 part/editannottooldialog.cpp 0515 part/editdrawingtooldialog.cpp 0516 part/widgetannottools.cpp 0517 part/widgetconfigurationtoolsbase.cpp 0518 part/widgetdrawingtools.cpp 0519 part/part.cpp 0520 part/extensions.cpp 0521 part/embeddedfilesdialog.cpp 0522 part/actionbar.cpp 0523 part/annotationactionhandler.cpp 0524 part/annotwindow.cpp 0525 part/annotationmodel.cpp 0526 part/annotationpopup.cpp 0527 part/annotationpropertiesdialog.cpp 0528 part/annotationproxymodels.cpp 0529 part/annotationtools.cpp 0530 part/annotationwidgets.cpp 0531 part/bookmarklist.cpp 0532 part/certificateviewer.cpp 0533 part/colormodemenu.cpp 0534 part/cursorwraphelper.cpp 0535 part/drawingtoolactions.cpp 0536 part/fileprinterpreview.cpp 0537 part/findbar.cpp 0538 part/formwidgets.cpp 0539 part/ktreeviewsearchline.cpp 0540 part/latexrenderer.cpp 0541 part/minibar.cpp 0542 part/okmenutitle.cpp 0543 part/pageitemdelegate.cpp 0544 part/pagesizelabel.cpp 0545 part/pageviewannotator.cpp 0546 part/pageviewmouseannotation.cpp 0547 part/pageview.cpp 0548 part/magnifierview.cpp 0549 part/pageviewutils.cpp 0550 part/presentationsearchbar.cpp 0551 part/presentationwidget.cpp 0552 part/propertiesdialog.cpp 0553 part/revisionviewer.cpp 0554 part/searchlineedit.cpp 0555 part/searchwidget.cpp 0556 part/sidebar.cpp 0557 part/side_reviews.cpp 0558 part/snapshottaker.cpp 0559 part/thumbnaillist.cpp 0560 part/toc.cpp 0561 part/toggleactionmenu.cpp 0562 part/videowidget.cpp 0563 part/layers.cpp 0564 part/signaturepartutils.cpp 0565 part/signaturepropertiesdialog.cpp 0566 part/signaturepanel.cpp 0567 0568 part/part.qrc 0569 ) 0570 ki18n_wrap_ui(okularpart_SRCS part/selectcertificatedialog.ui) 0571 0572 if (Qt6TextToSpeech_FOUND) 0573 set(okularpart_SRCS ${okularpart_SRCS} 0574 part/tts.cpp) 0575 endif() 0576 0577 kconfig_add_kcfg_files(okularpart_SRCS GENERATE_MOC conf/settings.kcfgc) 0578 0579 add_library(okularpart SHARED ${okularpart_SRCS}) 0580 generate_export_header(okularpart BASE_NAME okularpart) 0581 0582 target_link_libraries(okularpart okularcore 0583 ${MATH_LIB} 0584 Qt6::Svg 0585 KF6::Archive 0586 KF6::Bookmarks 0587 KF6::I18n 0588 KF6::IconThemes 0589 KF6::ItemViews 0590 KF6::KIOCore 0591 KF6::KIOWidgets 0592 KF6::Parts 0593 KF6::WindowSystem 0594 KF6::TextWidgets 0595 ) 0596 if (TARGET Qt6::DBus) 0597 target_link_libraries(okularpart Qt6::DBus) 0598 endif() 0599 if (Phonon4Qt6_FOUND) 0600 target_link_libraries(okularpart Phonon::phonon4qt6) 0601 endif() 0602 0603 if(KF6Wallet_FOUND) 0604 target_link_libraries(okularpart KF6::Wallet) 0605 endif() 0606 0607 if (KF6Purpose_FOUND) 0608 target_link_libraries(okularpart KF6::PurposeWidgets) 0609 endif() 0610 0611 set_target_properties(okularpart PROPERTIES PREFIX "") 0612 set_target_properties(okularpart PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/kf6/parts) 0613 0614 if (Qt6TextToSpeech_FOUND) 0615 target_link_libraries(okularpart Qt6::TextToSpeech) 0616 endif() 0617 0618 #instead install the part to this path so it can be found 0619 install(TARGETS okularpart DESTINATION ${KDE_INSTALL_PLUGINDIR}/kf6/parts/ ) 0620 0621 endif()# End of BUILD_DESKTOP if 0622 0623 0624 ########### install files ############### 0625 0626 install(FILES okular.upd DESTINATION ${KDE_INSTALL_KCONFUPDATEDIR}) 0627 install(FILES okular.categories DESTINATION ${KDE_INSTALL_LOGGINGCATEGORIESDIR}) 0628 0629 ki18n_install(po) 0630 if(KF6DocTools_FOUND) 0631 kdoctools_install(po) 0632 endif() 0633 0634 ########### cmake files ################# 0635 0636 set(CMAKECONFIG_INSTALL_DIR "${KDE_INSTALL_CMAKEPACKAGEDIR}/Okular6") 0637 configure_package_config_file( 0638 "${CMAKE_CURRENT_SOURCE_DIR}/Okular6Config.cmake.in" 0639 "${CMAKE_CURRENT_BINARY_DIR}/Okular6Config.cmake" 0640 INSTALL_DESTINATION ${CMAKECONFIG_INSTALL_DIR} 0641 PATH_VARS KDE_INSTALL_INCLUDEDIR CMAKE_INSTALL_PREFIX 0642 ) 0643 0644 install(FILES 0645 "${CMAKE_CURRENT_BINARY_DIR}/Okular6Config.cmake" 0646 "${CMAKE_CURRENT_BINARY_DIR}/Okular6ConfigVersion.cmake" 0647 DESTINATION "${CMAKECONFIG_INSTALL_DIR}" 0648 COMPONENT Devel 0649 ) 0650 0651 install(EXPORT Okular6Targets DESTINATION "${CMAKECONFIG_INSTALL_DIR}" FILE Okular6Targets.cmake NAMESPACE Okular::) 0652 0653 install(FILES 0654 core/stamps.svg 0655 DESTINATION ${KDE_INSTALL_DATADIR}/okular/pics) 0656 0657 ########### summary ################# 0658 0659 feature_summary(WHAT ALL FATAL_ON_MISSING_REQUIRED_PACKAGES) 0660 0661 message("-- Building Desktop User Interface: ${BUILD_DESKTOP}") 0662 message("-- Building Mobile Interface: ${BUILD_MOBILE}") 0663 message("")