117 lines
3.1 KiB
CMake
117 lines
3.1 KiB
CMake
# SPDX-FileCopyrightText: 2022 Alexander Lohnau <alexander.lohnau@gmx.de>
|
|
# SPDX-License-Identifier: BSD-3-Clause
|
|
|
|
add_library(kcmutils_logging_STATIC STATIC)
|
|
set_target_properties(kcmutils_logging_STATIC PROPERTIES POSITION_INDEPENDENT_CODE ON)
|
|
target_link_libraries(kcmutils_logging_STATIC PRIVATE Qt6::Core)
|
|
ecm_qt_declare_logging_category(kcmutils_logging_STATIC
|
|
HEADER kcmutils_debug.h
|
|
IDENTIFIER KCMUTILS_LOG
|
|
CATEGORY_NAME kf.kcmutils
|
|
DESCRIPTION "KCMUtils"
|
|
EXPORT KCMUTILS
|
|
)
|
|
|
|
|
|
add_subdirectory(core)
|
|
|
|
set(kcmutils_LIB_SRCS
|
|
kcmoduleloader.cpp
|
|
kcmoduleloader.h
|
|
kcmultidialog.cpp
|
|
kcmultidialog.h
|
|
kcmultidialog_p.h
|
|
kpluginwidget.cpp
|
|
kcmodule.cpp
|
|
kcmodule.h
|
|
)
|
|
|
|
add_library(KF6KCMUtils ${kcmutils_LIB_SRCS})
|
|
|
|
set_target_properties(KF6KCMUtils PROPERTIES
|
|
VERSION ${KCMUTILS_VERSION}
|
|
SOVERSION ${KCMUTILS_SOVERSION}
|
|
EXPORT_NAME KCMUtils
|
|
)
|
|
|
|
if (WITH_KAUTH)
|
|
set(WITH_KAUTH_DEFINE_VALUE 1)
|
|
else()
|
|
set(WITH_KAUTH_DEFINE_VALUE 0)
|
|
endif()
|
|
set(define_with_kauth_code "#define KCMUTILS_WITH_KAUTH ${WITH_KAUTH_DEFINE_VALUE}\n")
|
|
|
|
ecm_generate_export_header(KF6KCMUtils
|
|
BASE_NAME KCMUtils
|
|
GROUP_BASE_NAME KF
|
|
VERSION ${KF_VERSION}
|
|
USE_VERSION_HEADER
|
|
DEPRECATED_BASE_VERSION 0
|
|
DEPRECATION_VERSIONS
|
|
EXCLUDE_DEPRECATED_BEFORE_AND_AT ${EXCLUDE_DEPRECATED_BEFORE_AND_AT}
|
|
CUSTOM_CONTENT_FROM_VARIABLE define_with_kauth_code
|
|
)
|
|
target_include_directories(KF6KCMUtils INTERFACE "$<INSTALL_INTERFACE:${KDE_INSTALL_INCLUDEDIR_KF}/KCMUtils>")
|
|
|
|
target_link_libraries(KF6KCMUtils
|
|
PUBLIC
|
|
Qt6::Widgets
|
|
KF6::CoreAddons # KPluginMetaData
|
|
KF6::ConfigWidgets # KPageDialog
|
|
PRIVATE
|
|
kcmutils_proxy_model
|
|
KF6::GuiAddons # KIconUtils
|
|
KF6::I18n
|
|
KF6::ItemViews # KWidgetItemDelegate
|
|
KF6::XmlGui # KAboutApplicationDialog
|
|
kcmutils_logging_STATIC
|
|
)
|
|
|
|
ecm_generate_headers(KCMUtils_HEADERS
|
|
HEADER_NAMES
|
|
KCModuleLoader
|
|
KCMultiDialog
|
|
KPluginWidget
|
|
KCModule
|
|
|
|
REQUIRED_HEADERS KCMUtils_HEADERS
|
|
)
|
|
install(FILES
|
|
${CMAKE_CURRENT_BINARY_DIR}/kcmutils_export.h
|
|
${KCMUtils_HEADERS}
|
|
DESTINATION ${KDE_INSTALL_INCLUDEDIR_KF}/KCMUtils COMPONENT Devel
|
|
)
|
|
|
|
install(TARGETS KF6KCMUtils EXPORT KF6KCMUtilsTargets ${KF_INSTALL_TARGETS_DEFAULT_ARGS})
|
|
|
|
if(BUILD_QCH)
|
|
ecm_add_qch(
|
|
KF6KCMUtils_QCH
|
|
NAME KCMUtils
|
|
BASE_NAME KF6KCMUtils
|
|
VERSION ${KF_VERSION}
|
|
ORG_DOMAIN org.kde
|
|
SOURCES # using only public headers, to cover only public API
|
|
${KCMUtils_HEADERS}
|
|
MD_MAINPAGE "${CMAKE_SOURCE_DIR}/README.md"
|
|
LINK_QCHS
|
|
Qt6Widgets_QCH
|
|
KF6ConfigWidgets_QCH
|
|
INCLUDE_DIRS
|
|
${CMAKE_CURRENT_BINARY_DIR}
|
|
BLANK_MACROS
|
|
KCMUTILS_EXPORT
|
|
KCMUTILS_DEPRECATED
|
|
KCMUTILS_DEPRECATED_EXPORT
|
|
TAGFILE_INSTALL_DESTINATION ${KDE_INSTALL_QTQCHDIR}
|
|
QCH_INSTALL_DESTINATION ${KDE_INSTALL_QTQCHDIR}
|
|
COMPONENT Devel
|
|
)
|
|
endif()
|
|
|
|
ecm_qt_install_logging_categories(
|
|
EXPORT KCMUTILS
|
|
FILE kcmutils.categories
|
|
DESTINATION "${KDE_INSTALL_LOGGINGCATEGORIESDIR}"
|
|
)
|