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_library(kcmutils_logging_STATIC STATIC)
0005 set_target_properties(kcmutils_logging_STATIC PROPERTIES POSITION_INDEPENDENT_CODE ON)
0006 target_link_libraries(kcmutils_logging_STATIC PRIVATE Qt6::Core)
0007 ecm_qt_declare_logging_category(kcmutils_logging_STATIC
0008     HEADER kcmutils_debug.h
0009     IDENTIFIER KCMUTILS_LOG
0010     CATEGORY_NAME kf.kcmutils
0011     DESCRIPTION "KCMUtils"
0012     EXPORT KCMUTILS
0013 )
0014 
0015 
0016 add_subdirectory(core)
0017 add_subdirectory(qml)
0018 
0019 ########### kcmutils ###############
0020 set(kcmutils_LIB_SRCS
0021     kcmoduleloader.cpp
0022     kcmoduleloader.h
0023     kcmoduleqml.cpp
0024     kcmoduleqml_p.h
0025     kcmultidialog.cpp
0026     kcmultidialog.h
0027     kcmultidialog_p.h
0028     kpluginwidget.cpp
0029     kcmodule.cpp
0030     kcmodule.h
0031 )
0032 
0033 add_library(KF6KCMUtils ${kcmutils_LIB_SRCS})
0034 
0035 set_target_properties(KF6KCMUtils PROPERTIES
0036     VERSION     ${KCMUTILS_VERSION}
0037     SOVERSION   ${KCMUTILS_SOVERSION}
0038     EXPORT_NAME KCMUtils
0039 )
0040 
0041 if (WITH_KAUTH)
0042     set(WITH_KAUTH_DEFINE_VALUE 1)
0043 else()
0044     set(WITH_KAUTH_DEFINE_VALUE 0)
0045 endif()
0046 set(define_with_kauth_code "#define KCMUTILS_WITH_KAUTH ${WITH_KAUTH_DEFINE_VALUE}\n")
0047 
0048 ecm_generate_export_header(KF6KCMUtils
0049     BASE_NAME KCMUtils
0050     GROUP_BASE_NAME KF
0051     VERSION ${KF_VERSION}
0052     USE_VERSION_HEADER
0053     DEPRECATED_BASE_VERSION 0
0054     DEPRECATION_VERSIONS
0055     EXCLUDE_DEPRECATED_BEFORE_AND_AT ${EXCLUDE_DEPRECATED_BEFORE_AND_AT}
0056     CUSTOM_CONTENT_FROM_VARIABLE define_with_kauth_code
0057 )
0058 target_include_directories(KF6KCMUtils INTERFACE "$<INSTALL_INTERFACE:${KDE_INSTALL_INCLUDEDIR_KF}/KCMUtils>")
0059 
0060 target_link_libraries(KF6KCMUtils
0061   PUBLIC
0062     Qt6::Widgets
0063     KF6::CoreAddons # KPluginMetaData
0064     KF6::ConfigWidgets  # KPageDialog
0065     KF6KCMUtilsQuick      # QML KCM class
0066   PRIVATE
0067     kcmutils_proxy_model
0068     Qt6::Qml
0069     Qt6::Quick
0070     Qt6::QuickWidgets
0071     KF6::GuiAddons # KIconUtils
0072     KF6::I18n
0073     KF6::ItemViews       # KWidgetItemDelegate
0074     KF6::XmlGui          # KAboutApplicationDialog
0075     kcmutils_logging_STATIC
0076 )
0077 
0078 ecm_generate_headers(KCMUtils_HEADERS
0079   HEADER_NAMES
0080   KCModuleLoader
0081   KCMultiDialog
0082   KPluginWidget
0083   KCModule
0084 
0085   REQUIRED_HEADERS KCMUtils_HEADERS
0086 )
0087 install(FILES
0088   ${CMAKE_CURRENT_BINARY_DIR}/kcmutils_export.h
0089   ${KCMUtils_HEADERS}
0090   DESTINATION ${KDE_INSTALL_INCLUDEDIR_KF}/KCMUtils COMPONENT Devel
0091 )
0092 
0093 install(TARGETS KF6KCMUtils EXPORT KF6KCMUtilsTargets ${KF_INSTALL_TARGETS_DEFAULT_ARGS})
0094 
0095 if(BUILD_QCH)
0096     ecm_add_qch(
0097         KF6KCMUtils_QCH
0098         NAME KCMUtils
0099         BASE_NAME KF6KCMUtils
0100         VERSION ${KF_VERSION}
0101         ORG_DOMAIN org.kde
0102         SOURCES # using only public headers, to cover only public API
0103             ${KCMUtils_HEADERS}
0104         MD_MAINPAGE "${CMAKE_SOURCE_DIR}/README.md"
0105         LINK_QCHS
0106             Qt6Widgets_QCH
0107             KF6ConfigWidgets_QCH
0108         INCLUDE_DIRS
0109             ${CMAKE_CURRENT_BINARY_DIR}
0110         BLANK_MACROS
0111             KCMUTILS_EXPORT
0112             KCMUTILS_DEPRECATED
0113             KCMUTILS_DEPRECATED_EXPORT
0114         TAGFILE_INSTALL_DESTINATION ${KDE_INSTALL_QTQCHDIR}
0115         QCH_INSTALL_DESTINATION ${KDE_INSTALL_QTQCHDIR}
0116         COMPONENT Devel
0117     )
0118 endif()
0119 
0120 ecm_qt_install_logging_categories(
0121     EXPORT KCMUTILS
0122     FILE kcmutils.categories
0123     DESTINATION "${KDE_INSTALL_LOGGINGCATEGORIESDIR}"
0124 )
0125 
0126 add_subdirectory(kcmshell)