Warning, /frameworks/kcmutils/src/CMakeLists.txt is written in an unsupported language. File is not indexed.
0001 # SPDX-FileCopyrightText: 2022 Alexander Lohnau <alexander.lohnau@gmx.de> 0002 # SPDX-License-Identifier: BSD-3-Clause 0003 0004 add_subdirectory(core) 0005 add_subdirectory(qml) 0006 0007 ########### kcmutils ############### 0008 set(kcmutils_LIB_SRCS 0009 kcmodulecontainer.cpp 0010 kcmodulecontainer.h 0011 kcmoduledata.cpp 0012 kcmoduledata.h 0013 kcmoduleinfo.cpp 0014 kcmoduleinfo.h 0015 kcmoduleloader.cpp 0016 kcmoduleloader.h 0017 kcmoduleproxy.cpp 0018 kcmoduleproxy.h 0019 kcmoduleproxy_p.h 0020 kcmoduleqml.cpp 0021 kcmoduleqml_p.h 0022 kcmultidialog.cpp 0023 kcmultidialog.h 0024 kcmultidialog_p.h 0025 kpluginselector.cpp 0026 kpluginselector.h 0027 kpluginselector_p.h 0028 kpluginwidget.cpp 0029 ksettings/dialog.cpp 0030 ksettings/dialog.h 0031 ksettings/dialog_p.h 0032 ksettings/dispatcher.cpp 0033 ksettings/dispatcher.h 0034 ksettings/dispatcher_p.h 0035 ksettings/pluginpage.cpp 0036 ksettings/pluginpage.h 0037 ksettingswidgetadaptor.cpp 0038 ksettingswidgetadaptor.h 0039 ) 0040 0041 add_library(KF5KCMUtils ${kcmutils_LIB_SRCS}) 0042 0043 ecm_qt_declare_logging_category(KF5KCMUtils 0044 HEADER kcmutils_debug.h 0045 IDENTIFIER KCMUTILS_LOG 0046 CATEGORY_NAME kf.kcmutils 0047 DESCRIPTION "KCMUtils" 0048 EXPORT KCMUTILS 0049 ) 0050 0051 ecm_generate_export_header(KF5KCMUtils 0052 BASE_NAME KCMUtils 0053 GROUP_BASE_NAME KF 0054 VERSION ${KF_VERSION} 0055 DEPRECATED_BASE_VERSION 0 0056 DEPRECATION_VERSIONS 5.66 5.76 5.82 5.85 5.87 5.88 5.90 0057 EXCLUDE_DEPRECATED_BEFORE_AND_AT ${EXCLUDE_DEPRECATED_BEFORE_AND_AT} 0058 ) 0059 target_include_directories(KF5KCMUtils INTERFACE "$<INSTALL_INTERFACE:${KDE_INSTALL_INCLUDEDIR_KF}/KCMUtils>") 0060 0061 target_link_libraries(KF5KCMUtils 0062 PUBLIC 0063 Qt${QT_MAJOR_VERSION}::Widgets 0064 KF5::ConfigWidgets # KCModule 0065 KF5::Service # KService 0066 PRIVATE 0067 KF5KCMUtilsCore 0068 kcmutils_proxy_model 0069 Qt${QT_MAJOR_VERSION}::DBus # dbus usage in kcmoduleproxy.cpp 0070 Qt${QT_MAJOR_VERSION}::Qml 0071 Qt${QT_MAJOR_VERSION}::Quick 0072 Qt${QT_MAJOR_VERSION}::QuickWidgets 0073 KF5::CoreAddons 0074 KF5::GuiAddons # KIconUtils 0075 KF5::I18n 0076 KF5::ItemViews # KWidgetItemDelegate 0077 KF5::XmlGui # KAboutApplicationDialog 0078 KF5::QuickAddons 0079 KF5::Declarative 0080 ) 0081 0082 if (QT_MAJOR_VERSION STREQUAL "6") 0083 # TODO: instead of relying on KF5ConfigWidgetsConfig.cmake optionally getting KAuth dependency, 0084 # have KF5ConfigWidgetsConfig.cmake provide a proper flag/property about using the KAuth feature 0085 if (TARGET KF5::AuthWidgets) 0086 # KF5::ConfigWidgets has only KF5::AuthCore in public interface in KF6 0087 target_link_libraries(KF5KCMUtils PRIVATE KF5::AuthWidgets) # KAuth::ObjectDecorator 0088 endif() 0089 endif() 0090 0091 set_target_properties(KF5KCMUtils PROPERTIES 0092 VERSION ${KCMUTILS_VERSION} 0093 SOVERSION ${KCMUTILS_SOVERSION} 0094 EXPORT_NAME KCMUtils) 0095 0096 ecm_generate_headers(KCMUtils_HEADERS 0097 HEADER_NAMES 0098 KCModuleInfo 0099 KCModuleLoader 0100 KCMultiDialog 0101 KCModuleProxy 0102 KPluginSelector 0103 KCModuleContainer 0104 KCModuleData 0105 KPluginWidget 0106 0107 REQUIRED_HEADERS KCMUtils_HEADERS 0108 ) 0109 install(FILES 0110 ${CMAKE_CURRENT_BINARY_DIR}/kcmutils_export.h 0111 ${KCMUtils_HEADERS} 0112 DESTINATION ${KDE_INSTALL_INCLUDEDIR_KF}/KCMUtils COMPONENT Devel 0113 ) 0114 0115 ecm_generate_headers(KSettings_HEADERS 0116 HEADER_NAMES 0117 Dispatcher 0118 Dialog 0119 PluginPage 0120 0121 RELATIVE ksettings 0122 REQUIRED_HEADERS KSettings_HEADERS 0123 ) 0124 install(FILES 0125 ${KSettings_HEADERS} 0126 DESTINATION ${KDE_INSTALL_INCLUDEDIR_KF}/KCMUtils/ksettings COMPONENT Devel 0127 ) 0128 0129 install(TARGETS KF5KCMUtils EXPORT KF5KCMUtilsTargets ${KF_INSTALL_TARGETS_DEFAULT_ARGS}) 0130 0131 install(FILES 0132 kcmodule.desktop 0133 kcmoduleinit.desktop 0134 DESTINATION ${KDE_INSTALL_KSERVICETYPESDIR} ) 0135 0136 if(BUILD_QCH) 0137 ecm_add_qch( 0138 KF5KCMUtils_QCH 0139 NAME KCMUtils 0140 BASE_NAME KF5KCMUtils 0141 VERSION ${KF_VERSION} 0142 ORG_DOMAIN org.kde 0143 SOURCES # using only public headers, to cover only public API 0144 ${KCMUtils_HEADERS} 0145 ${KSettings_HEADERS} 0146 ksettings/README.dox 0147 MD_MAINPAGE "${CMAKE_SOURCE_DIR}/README.md" 0148 LINK_QCHS 0149 Qt5Widgets_QCH 0150 KF5ConfigWidgets_QCH 0151 KF5Service_QCH 0152 INCLUDE_DIRS 0153 ${CMAKE_CURRENT_BINARY_DIR} 0154 BLANK_MACROS 0155 KCMUTILS_EXPORT 0156 KCMUTILS_DEPRECATED 0157 KCMUTILS_DEPRECATED_EXPORT 0158 TAGFILE_INSTALL_DESTINATION ${KDE_INSTALL_QTQCHDIR} 0159 QCH_INSTALL_DESTINATION ${KDE_INSTALL_QTQCHDIR} 0160 COMPONENT Devel 0161 ) 0162 endif() 0163 0164 include(ECMGeneratePriFile) 0165 ecm_generate_pri_file(BASE_NAME KCMUtils LIB_NAME KF5KCMUtils DEPS "widgets KConfigWidgets KService" FILENAME_VAR PRI_FILENAME INCLUDE_INSTALL_DIR ${KDE_INSTALL_INCLUDEDIR_KF}/KCMUtils) 0166 install(FILES ${PRI_FILENAME} DESTINATION ${ECM_MKSPECS_INSTALL_DIR}) 0167 0168 ecm_qt_install_logging_categories( 0169 EXPORT KCMUTILS 0170 FILE kcmutils.categories 0171 DESTINATION "${KDE_INSTALL_LOGGINGCATEGORIESDIR}" 0172 ) 0173