Warning, /pim/kidentitymanagement/src/quick/CMakeLists.txt is written in an unsupported language. File is not indexed.

0001 # SPDX-FileCopyrightText: (C) 2023 Claudio Cambra <claudio.cambra@kde.org>
0002 # SPDX-License-Identifier: BSD-2-Clause
0003 
0004 ## identitymanagentprivate target
0005 
0006 ecm_setup_version(PROJECT VARIABLE_PREFIX KIDENTITYMANAGEMENTQUICK
0007                         VERSION_HEADER "${CMAKE_CURRENT_BINARY_DIR}/kidentitymanagementquick_version.h"
0008                         PACKAGE_VERSION_FILE "${CMAKE_CURRENT_BINARY_DIR}/KPim6IdentityManagementQuickConfigVersion.cmake"
0009                         SOVERSION 6
0010 )
0011 
0012 
0013 add_library(identitymanagentprivate STATIC)
0014 
0015 target_sources(identitymanagentprivate
0016     PRIVATE
0017         identityutils.h
0018         identityutils.cpp
0019         keylistmodelinterface.h
0020         identityeditorbackend.h
0021         identityeditorbackend.cpp
0022 )
0023 set_property(TARGET identitymanagentprivate PROPERTY POSITION_INDEPENDENT_CODE ON)
0024 target_link_libraries(identitymanagentprivate
0025     PUBLIC
0026         Qt::Core
0027         Qt::Quick
0028         KPim6::IdentityManagementCore
0029     PRIVATE
0030         KF6::I18n
0031 )
0032 
0033 ## KPimIdentityManagementQuick target
0034 
0035 add_library(KPim6IdentityManagementQuick SHARED)
0036 add_library(KPim6::IdentityManagementQuick ALIAS KPim6IdentityManagementQuick)
0037 
0038 target_sources(KPim6IdentityManagementQuick
0039     PRIVATE
0040         cryptographybackendinterface.h
0041         cryptographyeditorbackend.h
0042         cryptographyeditorbackend.cpp
0043 )
0044 
0045 
0046 target_link_libraries(KPim6IdentityManagementQuick
0047     PRIVATE
0048         identitymanagentprivate
0049 )
0050 
0051 if(COMPILE_WITH_UNITY_CMAKE_SUPPORT)
0052     set_target_properties(KPim6IdentityManagementQuick PROPERTIES UNITY_BUILD ON)
0053 endif()
0054 
0055 generate_export_header(KPim6IdentityManagementQuick
0056     BASE_NAME kidentitymanagementquick
0057 )
0058 
0059 target_include_directories(KPim6IdentityManagementQuick
0060     INTERFACE "$<INSTALL_INTERFACE:${KDE_INSTALL_INCLUDEDIR}/KPim6/KIdentityManagementQuick>"
0061 )
0062 target_include_directories(KPim6IdentityManagementQuick PUBLIC "$<BUILD_INTERFACE:${KIdentityManagement_SOURCE_DIR}/src;${KIdentityManagement_BINARY_DIR}/src>")
0063 
0064 set_target_properties(KPim6IdentityManagementQuick PROPERTIES
0065         VERSION ${KIDENTITYMANAGEMENTQUICK_VERSION}
0066         SOVERSION ${KIDENTITYMANAGEMENTQUICK_SOVERSION}
0067     EXPORT_NAME IdentityManagementQuick
0068 )
0069 
0070 set(CMAKECONFIG_INSTALL_DIR "${KDE_INSTALL_CMAKEPACKAGEDIR}/KPim6IdentityManagementQuick")
0071 
0072 
0073 install(FILES
0074   "${CMAKE_CURRENT_BINARY_DIR}/KPim6IdentityManagementQuickConfig.cmake"
0075   "${CMAKE_CURRENT_BINARY_DIR}/KPim6IdentityManagementQuickConfigVersion.cmake"
0076   DESTINATION "${CMAKECONFIG_INSTALL_DIR}"
0077   COMPONENT Devel
0078 )
0079 
0080 install(EXPORT KPim6IdentityManagementQuickTargets
0081     DESTINATION "${CMAKECONFIG_INSTALL_DIR}"
0082     FILE KPim6IdentityManagementQuickTargets.cmake
0083     NAMESPACE KPim6::
0084 )
0085 
0086 install(TARGETS KPim6IdentityManagementQuick EXPORT KPim6IdentityManagementQuickTargets ${KDE_INSTALL_TARGETS_DEFAULT_ARGS})
0087 
0088 # ########## Generate Headers ###############
0089 ecm_generate_headers(KIdentityManagementQuick_CamelCase_HEADERS
0090     HEADER_NAMES
0091         CryptographyBackendInterface
0092         CryptographyEditorBackend
0093         KeyListModelInterface
0094     PREFIX
0095         KIdentityManagementQuick
0096     REQUIRED_HEADERS
0097         KIdentityManagementQuick_HEADERS
0098 )
0099 
0100 # ########## install files ###############
0101 install(FILES
0102     ${CMAKE_CURRENT_BINARY_DIR}/kidentitymanagementquick_export.h
0103     ${KIdentityManagementQuick_HEADERS}
0104     DESTINATION ${KDE_INSTALL_INCLUDEDIR}/KPim6/KIdentityManagementQuick/kidentitymanagementquick
0105     COMPONENT Devel
0106 )
0107 install(FILES ${KIdentityManagementQuick_CamelCase_HEADERS}
0108     DESTINATION ${KDE_INSTALL_INCLUDEDIR}/KPim6/KIdentityManagementQuick/KIdentityManagementQuick/
0109     COMPONENT Devel
0110 )
0111 
0112 if(BUILD_QCH)
0113     ecm_add_qch(KPim6IdentityManagementQuick_QCH
0114         NAME
0115             KIdentityManagementQuick
0116         BASE_NAME
0117             KPim6IdentityManagementQuick
0118         VERSION
0119             ${PIM_VERSION}
0120         ORG_DOMAIN
0121             org.kde
0122         SOURCES # using only public headers, to cover only public API
0123             ${KIdentityManagementQuick_HEADERS}
0124 
0125         # MD_MAINPAGE "${CMAKE_SOURCE_DIR}/README.md"
0126         # IMAGE_DIRS "${CMAKE_SOURCE_DIR}/docs/pics"
0127         LINK_QCHS
0128             Qt6Quick_QCH
0129         INCLUDE_DIRS
0130             ${CMAKE_CURRENT_BINARY_DIR}
0131         BLANK_MACROS
0132             KIDENTITYMANAGEMENTQUICK_EXPORT
0133         TAGFILE_INSTALL_DESTINATION
0134             ${KDE_INSTALL_QTQCHDIR}
0135         QCH_INSTALL_DESTINATION
0136             ${KDE_INSTALL_QTQCHDIR}
0137         COMPONENT
0138             Devel
0139     )
0140 endif()
0141 
0142 
0143 # ########## QML Plugin s###############
0144 
0145 ecm_add_qml_module(kidentitymanagement_quick_plugin URI "org.kde.kidentitymanagement" VERSION 1.0)
0146 
0147 target_sources(kidentitymanagement_quick_plugin
0148     PRIVATE
0149         kidentitymanagementquickplugin.cpp
0150         kidentitymanagementquickplugin.h
0151 )
0152 
0153 target_link_libraries(kidentitymanagement_quick_plugin
0154     PUBLIC
0155         Qt::Core
0156         Qt::Quick
0157         identitymanagentprivate
0158         KPim6IdentityManagementCore
0159         KPim6IdentityManagementQuick
0160 )
0161 
0162 ecm_target_qml_sources(kidentitymanagement_quick_plugin SOURCES
0163     qml/BasicIdentityEditorCard.qml
0164     qml/CryptographyEditorCard.qml
0165     qml/IdentityConfigurationForm.qml
0166     qml/IdentityEditorPage.qml
0167 )
0168 
0169 ecm_finalize_qml_module(kidentitymanagement_quick_plugin
0170     DESTINATION ${KDE_INSTALL_QMLDIR}
0171     BUILD_SHARED_LIBS OFF
0172 )
0173 
0174 install(FILES
0175    ${CMAKE_CURRENT_BINARY_DIR}/kidentitymanagementquick_version.h
0176    DESTINATION ${KDE_INSTALL_INCLUDEDIR}/KPim6/KIdentityManagementQuick
0177    COMPONENT Devel
0178 )
0179 
0180 if (BUILD_QCH)
0181     ecm_install_qch_export(
0182         TARGETS KPim6IdentityManagementQuick_QCH
0183         FILE KPim6IdentityManagementQuickQchTargets.cmake
0184         DESTINATION "${CMAKECONFIG_INSTALL_DIR}"
0185         COMPONENT Devel
0186     )
0187     set(PACKAGE_INCLUDE_QCHTARGETS "include(\"\${CMAKE_CURRENT_LIST_DIR}/KPim6IdentityManagementQuickQchTargets.cmake\")")
0188 endif()
0189 
0190 configure_package_config_file(
0191   "${CMAKE_CURRENT_SOURCE_DIR}/KPimIdentityManagementQuickConfig.cmake.in"
0192   "${CMAKE_CURRENT_BINARY_DIR}/KPim6IdentityManagementQuickConfig.cmake"
0193   INSTALL_DESTINATION ${CMAKECONFIG_INSTALL_DIR}
0194 )
0195