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