Warning, /frameworks/kparts/src/CMakeLists.txt is written in an unsupported language. File is not indexed.

0001 add_library(KF5Parts)
0002 add_library(KF5::Parts ALIAS KF5Parts)
0003 
0004 target_sources(KF5Parts PRIVATE
0005     partbase.cpp
0006     part.cpp
0007     partmetadatautil_p.cpp
0008     partloader.cpp
0009     openurlarguments.cpp
0010     readonlypart.cpp
0011     readwritepart.cpp
0012     plugin.cpp
0013     partmanager.cpp
0014     mainwindow.cpp
0015     event.cpp
0016     guiactivateevent.cpp
0017     partactivateevent.cpp
0018     partselectevent.cpp
0019     browserextension.cpp
0020     browserhostextension.cpp
0021     browserarguments.cpp
0022     liveconnectextension.cpp
0023     openurlevent.cpp
0024     windowargs.cpp
0025     historyprovider.cpp
0026     browserinterface.cpp
0027     browserrun.cpp
0028     browseropenorsavequestion.cpp
0029     statusbarextension.cpp
0030     scriptableextension.cpp
0031     textextension.cpp
0032     htmlextension.cpp
0033     htmlsettingsinterface.cpp
0034     selectorinterface.cpp
0035     fileinfoextension.cpp
0036     listingfilterextension.cpp
0037     listingnotificationextension.cpp
0038 )
0039 
0040 include(ECMGenerateHeaders)
0041 ecm_generate_headers(KParts_CamelCase_HEADERS
0042     HEADER_NAMES
0043         BrowserArguments
0044         BrowserExtension
0045         BrowserHostExtension
0046         BrowserInterface
0047         BrowserOpenOrSaveQuestion
0048         BrowserRun
0049         Event
0050         FileInfoExtension
0051         GUIActivateEvent
0052         HistoryProvider
0053         HtmlExtension
0054         HtmlSettingsInterface
0055         ListingFilterExtension
0056         ListingNotificationExtension
0057         LiveConnectExtension
0058         MainWindow
0059         OpenUrlArguments
0060         OpenUrlEvent
0061         Part
0062         PartActivateEvent
0063         PartBase
0064         PartLoader
0065         PartManager
0066         PartSelectEvent
0067         Plugin
0068         ReadOnlyPart
0069         ReadWritePart
0070         ScriptableExtension
0071         SelectorInterface
0072         StatusBarExtension
0073         TextExtension
0074         WindowArgs
0075     REQUIRED_HEADERS KParts_HEADERS
0076     PREFIX KParts
0077 )
0078 install(FILES ${KParts_CamelCase_HEADERS}
0079         DESTINATION ${KDE_INSTALL_INCLUDEDIR_KF}/KParts/KParts
0080         COMPONENT Devel)
0081 
0082 ecm_qt_declare_logging_category(KF5Parts
0083     HEADER kparts_logging.h
0084     IDENTIFIER KPARTSLOG
0085     CATEGORY_NAME kf.parts
0086     DESCRIPTION "KParts"
0087     EXPORT KPARTSLOG
0088 )
0089 
0090 ecm_generate_export_header(KF5Parts
0091     EXPORT_FILE_NAME ${KParts_BINARY_DIR}/kparts/kparts_export.h
0092     BASE_NAME KParts
0093     GROUP_BASE_NAME KF
0094     VERSION ${KF_VERSION}
0095     DEPRECATED_BASE_VERSION 0
0096     DEPRECATION_VERSIONS 3.0 4.4 5.0 5.72 5.77 5.78 5.80 5.81 5.82 5.83 5.88 5.90 5.103
0097     EXCLUDE_DEPRECATED_BEFORE_AND_AT ${EXCLUDE_DEPRECATED_BEFORE_AND_AT}
0098 )
0099 
0100 target_include_directories(KF5Parts
0101     PUBLIC "$<BUILD_INTERFACE:${KParts_BINARY_DIR}>"
0102     INTERFACE "$<INSTALL_INTERFACE:${KDE_INSTALL_INCLUDEDIR_KF}/KParts>"
0103 )
0104 
0105 target_link_libraries(KF5Parts PUBLIC  KF5::KIOWidgets #browserrun.h uses krun.h
0106                                        KF5::XmlGui # essential to the technology
0107                                        KF5::TextWidgets # needed for KFind, as interface
0108                                PRIVATE KF5::I18n #few uses of i18n and i18nc, can be probably stripped down
0109                                        KF5::IconThemes #only used by KPart::iconLoader()
0110                       )
0111 
0112 set_target_properties(KF5Parts PROPERTIES VERSION   ${KPARTS_VERSION}
0113                                           SOVERSION ${KPARTS_SOVERSION}
0114                                           EXPORT_NAME Parts
0115 )
0116 
0117 install(TARGETS KF5Parts EXPORT KF5PartsTargets ${KF_INSTALL_TARGETS_DEFAULT_ARGS})
0118 
0119 if(NOT EXCLUDE_DEPRECATED_BEFORE_AND_AT STREQUAL "CURRENT" AND EXCLUDE_DEPRECATED_BEFORE_AND_AT VERSION_LESS 5.100.0)
0120     install(FILES
0121       kpart.desktop
0122       kparts-readonlypart.desktop
0123       kparts-readwritepart.desktop
0124       browserview.desktop
0125       DESTINATION ${KDE_INSTALL_KSERVICETYPESDIR}
0126     )
0127 endif()
0128 
0129 install(FILES
0130   ${KParts_BINARY_DIR}/kparts/kparts_export.h
0131   ${KParts_HEADERS}
0132   DESTINATION ${KDE_INSTALL_INCLUDEDIR_KF}/KParts/kparts COMPONENT Devel
0133 )
0134 
0135 install(FILES kde_terminal_interface.h DESTINATION ${KDE_INSTALL_INCLUDEDIR_KF}/KParts )
0136 
0137 ecm_qt_install_logging_categories(
0138     EXPORT KPARTSLOG
0139     FILE kparts.categories
0140     DESTINATION ${KDE_INSTALL_LOGGINGCATEGORIESDIR}
0141 )
0142 
0143 if(BUILD_QCH)
0144     ecm_add_qch(
0145         KF5Parts_QCH
0146         NAME KParts
0147         BASE_NAME KF5Parts
0148         VERSION ${KF_VERSION}
0149         ORG_DOMAIN org.kde
0150         SOURCES # using only public headers, to cover only public API
0151             ${KParts_HEADERS}
0152             kde_terminal_interface.h
0153         MD_MAINPAGE "${CMAKE_SOURCE_DIR}/README.md"
0154         LINK_QCHS
0155             KF5KIO_QCH
0156             KF5XmlGui_QCH
0157             KF5TextWidgets_QCH
0158         INCLUDE_DIRS
0159             ${CMAKE_BINARY_DIR}
0160             ${CMAKE_CURRENT_BINARY_DIR}
0161         BLANK_MACROS
0162             KPARTS_EXPORT
0163             KPARTS_DEPRECATED
0164             KPARTS_DEPRECATED_EXPORT
0165             "KPARTS_DEPRECATED_VERSION(x, y, t)"
0166             "KPARTS_DEPRECATED_VERSION_BELATED(x, y, xt, yt, t)"
0167             "KPARTS_DEPRECATED_VERSION(x, y, t)"
0168             "KPARTS_ENUMERATOR_DEPRECATED_VERSION_BELATED(x, y, xt, yt, t)"
0169         PREDEFINED_MACROS
0170             "KIOWIDGETS_ENABLE_DEPRECATED_SINCE(x, y)=1"
0171         TAGFILE_INSTALL_DESTINATION ${KDE_INSTALL_QTQCHDIR}
0172         QCH_INSTALL_DESTINATION ${KDE_INSTALL_QTQCHDIR}
0173         COMPONENT Devel
0174     )
0175 endif()
0176 
0177 include(ECMGeneratePriFile)
0178 ecm_generate_pri_file(BASE_NAME KParts LIB_NAME KF5Parts DEPS "KIOWidgets KXmlGui KTextWidgets" FILENAME_VAR PRI_FILENAME INCLUDE_INSTALL_DIR ${KDE_INSTALL_INCLUDEDIR_KF}/KParts)
0179 install(FILES ${PRI_FILENAME} DESTINATION ${ECM_MKSPECS_INSTALL_DIR})