Warning, /pim/libksieve/src/kmanagesieve/CMakeLists.txt is written in an unsupported language. File is not indexed.
0001 # SPDX-FileCopyrightText: 2011-2024 Laurent Montel <montel@kde.org>
0002 # SPDX-License-Identifier: BSD-3-Clause
0003
0004
0005 ecm_setup_version(PROJECT VARIABLE_PREFIX KMANAGESIEVE
0006 VERSION_HEADER "${CMAKE_CURRENT_BINARY_DIR}/libkmanagesieve_version.h"
0007 PACKAGE_VERSION_FILE "${CMAKE_CURRENT_BINARY_DIR}/KPim6KManageSieveConfigVersion.cmake"
0008 SOVERSION 6
0009 )
0010
0011 add_library(KPim6KManageSieve)
0012 add_library(KPim6::KManageSieve ALIAS KPim6KManageSieve)
0013
0014 target_sources(KPim6KManageSieve PRIVATE
0015 response.cpp
0016 session.cpp
0017 sessionthread.cpp
0018 sievejob.cpp
0019 sessionthread_p.h
0020 sievejob_p.h
0021 sasl-common.h
0022 session.h
0023 sievejob.h
0024 response.h
0025
0026 )
0027 ecm_qt_declare_logging_category(KPim6KManageSieve HEADER kmanagersieve_debug.h IDENTIFIER KMANAGERSIEVE_LOG CATEGORY_NAME org.kde.pim.kmanagersieve
0028 DESCRIPTION "kdepim (libksieve manager)"
0029 OLD_CATEGORY_NAMES log_kmanagersieve
0030 EXPORT LIBKSIEVE
0031 )
0032
0033
0034 generate_export_header(KPim6KManageSieve BASE_NAME kmanagesieve)
0035 if (COMPILE_WITH_UNITY_CMAKE_SUPPORT)
0036 set_target_properties(KPim6KManageSieve PROPERTIES UNITY_BUILD ON)
0037 endif()
0038
0039
0040 if (WIN32)
0041 set(extra_LIBS ws2_32)
0042 endif()
0043
0044
0045 target_link_libraries(KPim6KManageSieve
0046 PRIVATE
0047 KF6::I18n
0048 KF6::KIOCore
0049 KF6::KIOWidgets
0050 Sasl2::Sasl2
0051 ${extra_LIBS}
0052 )
0053
0054 set_target_properties(KPim6KManageSieve PROPERTIES
0055 VERSION ${KMANAGESIEVE_VERSION}
0056 SOVERSION ${KMANAGESIEVE_SOVERSION}
0057 EXPORT_NAME KManageSieve
0058 )
0059
0060 target_include_directories(KPim6KManageSieve
0061 INTERFACE "$<INSTALL_INTERFACE:${KDE_INSTALL_INCLUDEDIR}/KPim6/KManageSieve/>"
0062 )
0063 target_include_directories(KPim6KManageSieve PUBLIC "$<BUILD_INTERFACE:${libksieve_SOURCE_DIR}/src/kmanagesieve;${libksieve_BINARY_DIR}/src/kmanagesieve>")
0064
0065
0066
0067 ecm_generate_headers(kmanagesieve_CamelCase_HEADERS
0068 HEADER_NAMES
0069 SieveJob
0070 REQUIRED_HEADERS kmanagesieve_HEADERS
0071 PREFIX KManageSieve
0072 )
0073
0074 install(TARGETS KPim6KManageSieve EXPORT KPim6KManageSieveTargets ${KDE_INSTALL_TARGETS_DEFAULT_ARGS})
0075 install(FILES
0076 ${kmanagesieve_CamelCase_HEADERS}
0077 DESTINATION ${KDE_INSTALL_INCLUDEDIR}/KPim6/KManageSieve/KManageSieve
0078 COMPONENT Devel
0079 )
0080
0081 install(FILES
0082 ${kmanagesieve_HEADERS}
0083 ${CMAKE_CURRENT_BINARY_DIR}/kmanagesieve_export.h
0084 DESTINATION ${KDE_INSTALL_INCLUDEDIR}/KPim6/KManageSieve/kmanagesieve
0085 COMPONENT Devel
0086 )
0087
0088 install(FILES
0089 ${CMAKE_CURRENT_BINARY_DIR}/libkmanagesieve_version.h
0090 DESTINATION ${KDE_INSTALL_INCLUDEDIR}/KPim6/KManageSieve COMPONENT Devel
0091 )
0092
0093 set(CMAKECONFIG_INSTALL_DIR "${KDE_INSTALL_CMAKEPACKAGEDIR}/KPim6KManageSieve")
0094
0095 if (BUILD_QCH)
0096 ecm_add_qch(
0097 KPim6KManageSieve_QCH
0098 NAME KPim6KManageSieve
0099 BASE_NAME KPim6KManageSieve
0100 VERSION ${PIM_VERSION}
0101 ORG_DOMAIN org.kde
0102 SOURCES # using only public headers, to cover only public API
0103 ${kmanagesieve_HEADERS}
0104 LINK_QCHS
0105 Qt6Core_QCH
0106 INCLUDE_DIRS
0107 ${CMAKE_CURRENT_BINARY_DIR}
0108 BLANK_MACROS
0109 KMANAGESIEVE_EXPORT
0110 TAGFILE_INSTALL_DESTINATION ${KDE_INSTALL_QTQCHDIR}
0111 QCH_INSTALL_DESTINATION ${KDE_INSTALL_QTQCHDIR}
0112 COMPONENT Devel
0113 )
0114 endif()
0115
0116 if (BUILD_QCH)
0117 ecm_install_qch_export(
0118 TARGETS KPim6KManageSieve_QCH
0119 FILE KPim6KManageSieveQchTargets.cmake
0120 DESTINATION "${CMAKECONFIG_INSTALL_DIR}"
0121 COMPONENT Devel
0122 )
0123 set(PACKAGE_INCLUDE_QCHTARGETS "include(\"\${CMAKE_CURRENT_LIST_DIR}/KPim6KManageSieveQchTargets.cmake\")")
0124 endif()
0125
0126 configure_package_config_file(
0127 "${CMAKE_CURRENT_SOURCE_DIR}/KPimKManageSieveConfig.cmake.in"
0128 "${CMAKE_CURRENT_BINARY_DIR}/KPim6KManageSieveConfig.cmake"
0129 INSTALL_DESTINATION ${CMAKECONFIG_INSTALL_DIR}
0130 )
0131
0132 install(FILES
0133 "${CMAKE_CURRENT_BINARY_DIR}/KPim6KManageSieveConfig.cmake"
0134 "${CMAKE_CURRENT_BINARY_DIR}/KPim6KManageSieveConfigVersion.cmake"
0135 DESTINATION "${CMAKECONFIG_INSTALL_DIR}"
0136 COMPONENT Devel
0137 )
0138
0139 install(EXPORT KPim6KManageSieveTargets DESTINATION "${CMAKECONFIG_INSTALL_DIR}" FILE KPim6KManageSieveTargets.cmake NAMESPACE KPim6::)