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)