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   KPropertiesDialogPlugin
0167   KUrlRequesterDialog
0168   KUrlComboBox
0169   KFileItemActions
0170   KFileItemDelegate
0171   KAutoMount
0172   KDesktopFileActions
0173   KOpenWithDialog
0174   KAbstractFileItemActionPlugin
0175   KOverlayIconPlugin
0176   KBuildSycocaProgressDialog
0177   KFile
0178   KUrlRequester
0179   KRun
0180   KUrlPixmapProvider
0181   KSslCertificateBox
0182   KSslInfoDialog
0183   KDirLister
0184   KDirModel
0185   KShellCompletion
0186   KUrlCompletion
0187   KUriFilter
0188 
0189   REQUIRED_HEADERS KIOWidgets_HEADERS
0190 )
0191 
0192 # Headers prefixed with KIO/
0193 ecm_generate_headers(KIOWidgets_CamelCase_HEADERS
0194   HEADER_NAMES
0195   AccessManager
0196   DeleteOrTrashJob
0197   SslUi
0198   ThumbSequenceCreator
0199   ThumbDevicePixelRatioDependentCreator
0200   ThumbCreator
0201   DropJob
0202   DndPopupMenuPlugin
0203   OpenFileManagerWindowJob
0204   PasteJob
0205   PreviewJob
0206   RenameDialog
0207   SkipDialog
0208   JobUiDelegate
0209   FileUndoManager
0210   Paste
0211   PixmapLoader
0212   KUriFilterSearchProviderActions # KF6: fix and move to non-KIO prefixed install folder
0213   RenameFileDialog
0214   WidgetsAskUserActionHandler
0215 
0216   PREFIX KIO
0217   REQUIRED_HEADERS KIO_namespaced_widgets_HEADERS
0218 )
0219 install(FILES ${KIOWidgets_CamelCase_HEADERS} DESTINATION ${KDE_INSTALL_INCLUDEDIR_KF}/KIOWidgets/KIO COMPONENT Devel)
0220 
0221 install(TARGETS KF5KIOWidgets EXPORT KF5KIOTargets ${KF_INSTALL_TARGETS_DEFAULT_ARGS})
0222 
0223 install(FILES
0224    org.kde.kio.FileUndoManager.xml
0225    DESTINATION ${KDE_INSTALL_DBUSINTERFACEDIR}
0226    RENAME kf5_org.kde.kio.FileUndoManager.xml)
0227 
0228 install(FILES
0229   ${KIO_namespaced_widgets_HEADERS}
0230   DESTINATION ${KDE_INSTALL_INCLUDEDIR_KF}/KIOWidgets/kio COMPONENT Devel)
0231 
0232 install(FILES
0233   ${KIOWidgets_HEADERS}
0234   ${CMAKE_CURRENT_BINARY_DIR}/kiowidgets_export.h
0235   DESTINATION ${KDE_INSTALL_INCLUDEDIR_KF}/KIOWidgets COMPONENT Devel)
0236 
0237 if(NOT EXCLUDE_DEPRECATED_BEFORE_AND_AT STREQUAL "CURRENT" AND EXCLUDE_DEPRECATED_BEFORE_AND_AT VERSION_LESS 5.102.0)
0238   install(FILES konqpopupmenuplugin.desktop DESTINATION  ${KDE_INSTALL_KSERVICETYPESDIR})
0239 endif()
0240 
0241 if(NOT EXCLUDE_DEPRECATED_BEFORE_AND_AT STREQUAL "CURRENT" AND EXCLUDE_DEPRECATED_BEFORE_AND_AT VERSION_LESS 5.82.0)
0242   install(FILES kfileitemactionplugin.desktop DESTINATION ${KDE_INSTALL_KSERVICETYPESDIR})
0243 endif()
0244 
0245 if(NOT EXCLUDE_DEPRECATED_BEFORE_AND_AT STREQUAL "CURRENT" AND EXCLUDE_DEPRECATED_BEFORE_AND_AT VERSION_LESS 5.83.0)
0246   install(FILES kpropertiesdialogplugin.desktop DESTINATION ${KDE_INSTALL_KSERVICETYPESDIR})
0247 endif()
0248 
0249 
0250 # make available to ecm_add_qch in parent folder
0251 set(KIOWidgets_QCH_SOURCES ${KIOWidgets_HEADERS} ${KIO_namespaced_widgets_HEADERS} PARENT_SCOPE)
0252 
0253 include(ECMGeneratePriFile)
0254 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)
0255 install(FILES ${PRI_FILENAME} DESTINATION ${ECM_MKSPECS_INSTALL_DIR})