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

0001 #include (ConfigureChecks.cmake)
0002 
0003 set_package_properties(ACL PROPERTIES DESCRIPTION "LibACL" URL "ftp://oss.sgi.com/projects/xfs/cmd_tars"
0004                        TYPE RECOMMENDED PURPOSE "Support for manipulating access control lists")
0005 configure_file(config-kiowidgets.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config-kiowidgets.h)
0006 
0007 add_library(KF5KIOWidgets)
0008 add_library(KF5::KIOWidgets ALIAS KF5KIOWidgets)
0009 
0010 set_target_properties(KF5KIOWidgets PROPERTIES
0011     VERSION     ${KIO_VERSION}
0012     SOVERSION   ${KIO_SOVERSION}
0013     EXPORT_NAME KIOWidgets
0014 )
0015 
0016 set(kiowidgets_dbus_SRCS)
0017 if(TARGET Qt${QT_MAJOR_VERSION}::DBus)
0018     qt_add_dbus_adaptor(kiowidgets_dbus_SRCS org.kde.kio.FileUndoManager.xml fileundomanager_p.h KIO::FileUndoManagerPrivate fileundomanager_adaptor KIOFileUndoManagerAdaptor)
0019     qt_add_dbus_interface(kiowidgets_dbus_SRCS org.kde.kuiserver.xml kuiserver_interface)
0020 endif()
0021 
0022 
0023 target_sources(KF5KIOWidgets PRIVATE
0024   kacleditwidget.cpp
0025   kurlrequesterdialog.cpp
0026   kurlcombobox.cpp
0027   kfileitemactions.cpp
0028   imagefilter.cpp
0029   kdesktopfileactions.cpp
0030   kopenwithdialog.cpp
0031   kfile.cpp
0032   pastedialog.cpp
0033   clipboardupdater.cpp
0034   kabstractfileitemactionplugin.cpp
0035   koverlayiconplugin.cpp
0036   kurlrequester.cpp
0037   krun.cpp
0038   kurlpixmapprovider.cpp
0039   pixmaploader.cpp
0040   thumbsequencecreator.cpp
0041   thumbdevicepixelratiodependentcreator.cpp
0042   thumbcreator.cpp
0043   kshellcompletion.cpp
0044   kurlcompletion.cpp
0045   kurifilter.cpp
0046   previewjob.cpp
0047   renamedialog.cpp
0048   ksslcertificatebox.cpp
0049   ksslinfodialog.cpp
0050   skipdialog.cpp
0051   jobuidelegate.cpp
0052   kdirlister.cpp
0053   executablefileopendialog.cpp
0054   dndpopupmenuplugin.cpp
0055   kurifiltersearchprovideractions.cpp
0056   widgetsuntrustedprogramhandler.cpp
0057   widgetsopenwithhandler.cpp
0058   widgetsopenorexecutefilehandler.cpp
0059   widgetsaskuseractionhandler.cpp
0060 )
0061 
0062 if(NOT ANDROID)
0063 target_sources(KF5KIOWidgets PRIVATE
0064   ${kiowidgets_dbus_SRCS}
0065   accessmanager.cpp
0066   accessmanagerreply_p.cpp
0067   deleteortrashjob.cpp
0068   fileundomanager.cpp
0069   kpropertiesdialog.cpp
0070   delegateanimationhandler.cpp
0071   kfileitemdelegate.cpp
0072   paste.cpp
0073   kbuildsycocaprogressdialog.cpp
0074   sslui.cpp
0075   dropjob.cpp
0076   openfilemanagerwindowjob.cpp
0077   pastejob.cpp
0078   joburlcache.cpp
0079   kdirmodel.cpp
0080   renamefiledialog.cpp
0081 )
0082 endif()
0083 if (NOT ANDROID)
0084     target_sources(KF5KIOWidgets PRIVATE
0085         kdynamicjobtracker.cpp
0086     )
0087 endif()
0088 if (NOT WIN32 AND NOT ANDROID)
0089     target_sources(KF5KIOWidgets PRIVATE
0090         kautomount.cpp
0091     )
0092 endif()
0093 
0094 ecm_qt_declare_logging_category(KF5KIOWidgets
0095     HEADER kio_widgets_debug.h
0096     IDENTIFIER KIO_WIDGETS
0097     CATEGORY_NAME kf.kio.widgets
0098     OLD_CATEGORY_NAMES kf5.kio.widgets
0099     DESCRIPTION "KIOWidgets (KIO)"
0100     EXPORT KIO
0101 )
0102 
0103 ecm_qt_export_logging_category(
0104     IDENTIFIER category
0105     CATEGORY_NAME kf.kio.widgets.kdirmodel
0106     OLD_CATEGORY_NAMES kf5.kio.kdirmodel
0107     DESCRIPTION "KDirModel (KIO)"
0108     EXPORT KIO
0109 )
0110 
0111 ki18n_wrap_ui(KF5KIOWidgets
0112   checksumswidget.ui
0113   certificateparty.ui
0114   sslinfo.ui
0115   kpropertiesdesktopadvbase.ui
0116   kpropertiesdesktopbase.ui
0117   kfilepropspluginwidget.ui
0118 )
0119 
0120 ecm_generate_export_header(KF5KIOWidgets
0121     BASE_NAME KIOWidgets
0122     GROUP_BASE_NAME KF
0123     VERSION ${KF_VERSION}
0124     DEPRECATED_BASE_VERSION 0
0125     DEPRECATION_VERSIONS 4.0 4.1 4.3 4.4 4.5 4.6 4.7 5.0 5.4 5.6 5.25 5.31 5.32 5.64 5.66 5.71 5.75 5.76 5.79 5.80 5.82 5.83 5.84 5.86 5.87 5.88 5.98 5.101 5.102 5.103 5.107 5.108
0126     EXCLUDE_DEPRECATED_BEFORE_AND_AT ${EXCLUDE_DEPRECATED_BEFORE_AND_AT}
0127 )
0128 # TODO: add support for EXCLUDE_DEPRECATED_BEFORE_AND_AT to all KIO libs
0129 # needs fixing of undeprecated API being still implemented using own deprecated API
0130 
0131 target_include_directories(KF5KIOWidgets INTERFACE "$<INSTALL_INTERFACE:${KDE_INSTALL_INCLUDEDIR_KF}/KIOWidgets>")
0132 
0133 target_link_libraries(KF5KIOWidgets
0134   PUBLIC
0135     KF5::KIOGui
0136     KF5::KIOCore
0137     KF5::JobWidgets
0138     KF5::Service
0139     KF5::Solid
0140     Qt${QT_MAJOR_VERSION}::Network  # SSL
0141     KF5::Completion    # KUrlCompletion uses KCompletion
0142     KF5::WidgetsAddons # keditlistwidget
0143   PRIVATE
0144     Qt${QT_MAJOR_VERSION}::Concurrent
0145     KF5::I18n
0146     KF5::GuiAddons # KIconUtils
0147     KF5::IconThemes   # KIconLoader
0148     KF5::WindowSystem # KStartupInfo
0149     KF5::ConfigWidgets # KColorScheme
0150 )
0151 if (TARGET Qt${QT_MAJOR_VERSION}::DBus)
0152     target_link_libraries(KF5KIOWidgets
0153         PRIVATE
0154             Qt${QT_MAJOR_VERSION}::DBus
0155     )
0156 endif()
0157 
0158 if(ACL_FOUND)
0159    target_link_libraries(KF5KIOWidgets PRIVATE ${ACL_LIBS})
0160 endif()
0161 
0162 # Headers not prefixed with KIO/
0163 ecm_generate_headers(KIOWidgets_HEADERS
0164   HEADER_NAMES
0165   KPropertiesDialog
0166   KUrlRequesterDialog
0167   KUrlComboBox
0168   KFileItemActions
0169   KFileItemDelegate
0170   KAutoMount
0171   KDesktopFileActions
0172   KOpenWithDialog
0173   KAbstractFileItemActionPlugin
0174   KOverlayIconPlugin
0175   KBuildSycocaProgressDialog
0176   KFile
0177   KUrlRequester
0178   KRun
0179   KUrlPixmapProvider
0180   KSslCertificateBox
0181   KSslInfoDialog
0182   KDirLister
0183   KDirModel
0184   KShellCompletion
0185   KUrlCompletion
0186   KUriFilter
0187 
0188   REQUIRED_HEADERS KIOWidgets_HEADERS
0189 )
0190 
0191 # Headers prefixed with KIO/
0192 ecm_generate_headers(KIOWidgets_CamelCase_HEADERS
0193   HEADER_NAMES
0194   AccessManager
0195   DeleteOrTrashJob
0196   SslUi
0197   ThumbSequenceCreator
0198   ThumbDevicePixelRatioDependentCreator
0199   ThumbCreator
0200   DropJob
0201   DndPopupMenuPlugin
0202   OpenFileManagerWindowJob
0203   PasteJob
0204   PreviewJob
0205   RenameDialog
0206   SkipDialog
0207   JobUiDelegate
0208   FileUndoManager
0209   Paste
0210   PixmapLoader
0211   KUriFilterSearchProviderActions # KF6: fix and move to non-KIO prefixed install folder
0212   RenameFileDialog
0213   WidgetsAskUserActionHandler
0214 
0215   PREFIX KIO
0216   REQUIRED_HEADERS KIO_namespaced_widgets_HEADERS
0217 )
0218 install(FILES ${KIOWidgets_CamelCase_HEADERS} DESTINATION ${KDE_INSTALL_INCLUDEDIR_KF}/KIOWidgets/KIO COMPONENT Devel)
0219 
0220 install(TARGETS KF5KIOWidgets EXPORT KF5KIOTargets ${KF_INSTALL_TARGETS_DEFAULT_ARGS})
0221 
0222 install(FILES
0223    org.kde.kio.FileUndoManager.xml
0224    DESTINATION ${KDE_INSTALL_DBUSINTERFACEDIR}
0225    RENAME kf5_org.kde.kio.FileUndoManager.xml)
0226 
0227 install(FILES
0228   ${KIO_namespaced_widgets_HEADERS}
0229   DESTINATION ${KDE_INSTALL_INCLUDEDIR_KF}/KIOWidgets/kio COMPONENT Devel)
0230 
0231 install(FILES
0232   ${KIOWidgets_HEADERS}
0233   ${CMAKE_CURRENT_BINARY_DIR}/kiowidgets_export.h
0234   DESTINATION ${KDE_INSTALL_INCLUDEDIR_KF}/KIOWidgets COMPONENT Devel)
0235 
0236 if(NOT EXCLUDE_DEPRECATED_BEFORE_AND_AT STREQUAL "CURRENT" AND EXCLUDE_DEPRECATED_BEFORE_AND_AT VERSION_LESS 5.102.0)
0237   install(FILES konqpopupmenuplugin.desktop DESTINATION  ${KDE_INSTALL_KSERVICETYPESDIR})
0238 endif()
0239 
0240 if(NOT EXCLUDE_DEPRECATED_BEFORE_AND_AT STREQUAL "CURRENT" AND EXCLUDE_DEPRECATED_BEFORE_AND_AT VERSION_LESS 5.82.0)
0241   install(FILES kfileitemactionplugin.desktop DESTINATION ${KDE_INSTALL_KSERVICETYPESDIR})
0242 endif()
0243 
0244 if(NOT EXCLUDE_DEPRECATED_BEFORE_AND_AT STREQUAL "CURRENT" AND EXCLUDE_DEPRECATED_BEFORE_AND_AT VERSION_LESS 5.83.0)
0245   install(FILES kpropertiesdialogplugin.desktop DESTINATION ${KDE_INSTALL_KSERVICETYPESDIR})
0246 endif()
0247 
0248 
0249 # make available to ecm_add_qch in parent folder
0250 set(KIOWidgets_QCH_SOURCES ${KIOWidgets_HEADERS} ${KIO_namespaced_widgets_HEADERS} PARENT_SCOPE)
0251 
0252 include(ECMGeneratePriFile)
0253 ecm_generate_pri_file(BASE_NAME KIOWidgets LIB_NAME KF5KIOWidgets DEPS "KIOGui KIOCore KBookmarks KXmlGui Solid" FILENAME_VAR PRI_FILENAME INCLUDE_INSTALL_DIR ${KDE_INSTALL_INCLUDEDIR_KF}/KIOWidgets)
0254 install(FILES ${PRI_FILENAME} DESTINATION ${ECM_MKSPECS_INSTALL_DIR})