Changeset View
Changeset View
Standalone View
Standalone View
lang/qt/src/CMakeLists.txt
- This file was added.
| # SPDX-FileCopyrightText: 2021 Daniel Vrátil <dvratil@kde.org> | |||||
| # SPDX-FileCopyrightText: 2023 g10 Code GmbH | |||||
| # SPDX-FileContributor: Carl Schwan <carl.schwan@gnupg.com> | |||||
| # SPDX-License-Identifier: BSD-3-Clause | |||||
| find_package(Qt${QT_MAJOR_VERSION} REQUIRED COMPONENTS Core) | |||||
| set(GPGME_CONFIG_AVAIL_LANG "${GPGME_CONFIG_AVAIL_LANG} qt") | |||||
| find_package(Gpgmepp ${GPGME_REQUIRED_VERSION} CONFIG REQUIRED) | |||||
| if (${QT_MAJOR_VERSION} EQUAL "6") | |||||
| find_package(Qt${QT_MAJOR_VERSION} REQUIRED COMPONENTS CoreTools) | |||||
| get_property(QtCore_MOC_EXECUTABLE TARGET Qt6::moc PROPERTY LOCATION) | |||||
| set(config_suffix Qt6) | |||||
| endif() | |||||
| add_library(QGpgme${config_suffix} SHARED) | |||||
| target_sources(QGpgme${config_suffix} PRIVATE | |||||
| changeexpiryjob.cpp | |||||
| cleaner.cpp | |||||
| cryptoconfig.cpp | |||||
| dataprovider.cpp | |||||
| debug.cpp | |||||
| decryptverifyjob.cpp | |||||
| decryptverifyarchivejob.cpp | |||||
| defaultkeygenerationjob.cpp | |||||
| dn.cpp | |||||
| encryptarchivejob.cpp | |||||
| encryptjob.cpp | |||||
| filelistdataprovider.cpp | |||||
| importjob.cpp | |||||
| job.cpp | |||||
| listallkeysjob.cpp | |||||
| multideletejob.cpp | |||||
| qgpgme_debug.cpp | |||||
| qgpgmeaddexistingsubkeyjob.cpp | |||||
| qgpgmeadduseridjob.cpp | |||||
| qgpgmebackend.cpp | |||||
| qgpgmechangeexpiryjob.cpp | |||||
| qgpgmechangeownertrustjob.cpp | |||||
| qgpgmechangepasswdjob.cpp | |||||
| qgpgmedecryptjob.cpp | |||||
| qgpgmedecryptverifyarchivejob.cpp | |||||
| qgpgmedecryptverifyjob.cpp | |||||
| qgpgmedeletejob.cpp | |||||
| qgpgmedownloadjob.cpp | |||||
| qgpgmeencryptarchivejob.cpp | |||||
| qgpgmeencryptjob.cpp | |||||
| qgpgmeexportjob.cpp | |||||
| qgpgmegpgcardjob.cpp | |||||
| qgpgmeimportfromkeyserverjob.cpp | |||||
| qgpgmeimportjob.cpp | |||||
| qgpgmekeyformailboxjob.cpp | |||||
| qgpgmekeygenerationjob.cpp | |||||
| qgpgmekeylistjob.cpp | |||||
| qgpgmelistallkeysjob.cpp | |||||
| qgpgmenewcryptoconfig.cpp | |||||
| qgpgmequickjob.cpp | |||||
| qgpgmereceivekeysjob.cpp | |||||
| qgpgmerefreshsmimekeysjob.cpp | |||||
| qgpgmerevokekeyjob.cpp | |||||
| qgpgmesetprimaryuseridjob.cpp | |||||
| qgpgmesignarchivejob.cpp | |||||
| qgpgmesignencryptarchivejob.cpp | |||||
| qgpgmesignencryptjob.cpp | |||||
| qgpgmesignjob.cpp | |||||
| qgpgmesignkeyjob.cpp | |||||
| qgpgmetofupolicyjob.cpp | |||||
| qgpgmeverifydetachedjob.cpp | |||||
| qgpgmeverifyopaquejob.cpp | |||||
| qgpgmewkdlookupjob.cpp | |||||
| qgpgmewkdrefreshjob.cpp | |||||
| qgpgmewkspublishjob.cpp | |||||
| signarchivejob.cpp | |||||
| signencryptarchivejob.cpp | |||||
| signencryptjob.cpp | |||||
| signjob.cpp | |||||
| threadedjobmixin.cpp | |||||
| util.cpp | |||||
| verifydetachedjob.cpp | |||||
| verifyopaquejob.cpp | |||||
| wkdlookupresult.cpp | |||||
| wkdrefreshjob.cpp | |||||
| ) | |||||
| set(qgpgme_HEADERS | |||||
| abstractimportjob.h | |||||
| addexistingsubkeyjob.h | |||||
| adduseridjob.h | |||||
| changeexpiryjob.h | |||||
| changeownertrustjob.h | |||||
| changepasswdjob.h | |||||
| cryptoconfig.h | |||||
| cleaner.h | |||||
| dataprovider.h | |||||
| debug.h | |||||
| decryptjob.h | |||||
| decryptverifyarchivejob.h | |||||
| decryptverifyjob.h | |||||
| defaultkeygenerationjob.h | |||||
| deletejob.h | |||||
| dn.h | |||||
| downloadjob.h | |||||
| encryptarchivejob.h | |||||
| encryptjob.h | |||||
| exportjob.h | |||||
| filelistdataprovider.h | |||||
| gpgcardjob.h | |||||
| hierarchicalkeylistjob.h | |||||
| importfromkeyserverjob.h | |||||
| importjob.h | |||||
| job.h | |||||
| keyformailboxjob.h | |||||
| keygenerationjob.h | |||||
| keylistjob.h | |||||
| listallkeysjob.h | |||||
| multideletejob.h | |||||
| protocol.h | |||||
| qgpgme_debug.h | |||||
| qgpgme_export.h | |||||
| qgpgmeaddexistingsubkeyjob.h | |||||
| qgpgmeadduseridjob.h | |||||
| qgpgmebackend.h | |||||
| qgpgmechangeexpiryjob.h | |||||
| qgpgmechangeownertrustjob.h | |||||
| qgpgmechangepasswdjob.h | |||||
| qgpgmedecryptjob.h | |||||
| qgpgmedecryptverifyarchivejob.h | |||||
| qgpgmedecryptverifyjob.h | |||||
| qgpgmedeletejob.h | |||||
| qgpgmedownloadjob.h | |||||
| qgpgmeencryptarchivejob.h | |||||
| qgpgmeencryptjob.h | |||||
| qgpgmeexportjob.h | |||||
| qgpgmegpgcardjob.h | |||||
| qgpgmeimportfromkeyserverjob.h | |||||
| qgpgmeimportjob.h | |||||
| qgpgmekeyformailboxjob.h | |||||
| qgpgmekeygenerationjob.h | |||||
| qgpgmekeylistjob.h | |||||
| qgpgmelistallkeysjob.h | |||||
| qgpgmenewcryptoconfig.h | |||||
| qgpgmequickjob.h | |||||
| qgpgmereceivekeysjob.h | |||||
| qgpgmerefreshsmimekeysjob.h | |||||
| qgpgmerevokekeyjob.h | |||||
| qgpgmesetprimaryuseridjob.h | |||||
| qgpgmesignarchivejob.h | |||||
| qgpgmesignencryptarchivejob.h | |||||
| qgpgmesignencryptjob.h | |||||
| qgpgmesignjob.h | |||||
| qgpgmesignkeyjob.h | |||||
| qgpgmetofupolicyjob.h | |||||
| qgpgmeverifydetachedjob.h | |||||
| qgpgmeverifyopaquejob.h | |||||
| qgpgmewkdlookupjob.h | |||||
| qgpgmewkdrefreshjob.h | |||||
| qgpgmewkspublishjob.h | |||||
| quickjob.h | |||||
| receivekeysjob.h | |||||
| refreshkeysjob.h | |||||
| revokekeyjob.h | |||||
| setprimaryuseridjob.h | |||||
| signarchivejob.h | |||||
| signencryptarchivejob.h | |||||
| signencryptjob.h | |||||
| signjob.h | |||||
| signkeyjob.h | |||||
| specialjob.h | |||||
| threadedjobmixin.h | |||||
| tofupolicyjob.h | |||||
| util.h | |||||
| verifydetachedjob.h | |||||
| verifyopaquejob.h | |||||
| wkdlookupjob.h | |||||
| wkdlookupresult.h | |||||
| wkdrefreshjob.h | |||||
| wkspublishjob.h | |||||
| ) | |||||
| set(qgpgme_CAMELCASE_HEADERS | |||||
| AddUserIDJob | |||||
| AbstractImportJob | |||||
| ChangeExpiryJob | |||||
| ChangeOwnerTrustJob | |||||
| ChangePasswdJob | |||||
| Cleaner | |||||
| DataProvider | |||||
| DecryptJob | |||||
| DecryptVerifyJob | |||||
| DN | |||||
| DownloadJob | |||||
| EncryptJob | |||||
| ExportJob | |||||
| Job | |||||
| MultiDeleteJob | |||||
| Protocol | |||||
| QGpgMENewCryptoConfig | |||||
| QuickJob | |||||
| SpecialJob | |||||
| SignJob | |||||
| SignKeyJob | |||||
| SignEncryptJob | |||||
| VerifyOpaqueJob | |||||
| RefreshKeysJob | |||||
| CryptoConfig | |||||
| DeleteJob | |||||
| ImportFromKeyserverJob | |||||
| ImportJob | |||||
| KeyGenerationJob | |||||
| KeyListJob | |||||
| ListAllKeysJob | |||||
| VerifyDetachedJob | |||||
| KeyForMailboxJob | |||||
| DefaultKeyGenerationJob | |||||
| WKSPublishJob | |||||
| WKDRefreshJob | |||||
| TofuPolicyJob | |||||
| ) | |||||
| set(qgpgme_MOC) | |||||
| foreach(header ${qgpgme_HEADERS}) | |||||
| get_filename_component(absolute_path ${header} ABSOLUTE) | |||||
| get_filename_component(file_name ${header} NAME_WLE) | |||||
| if (${QT_MAJOR_VERSION} EQUAL "6") | |||||
| add_custom_command( | |||||
| OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${file_name}.moc | |||||
| COMMAND ${QtCore_MOC_EXECUTABLE} ${absolute_path} -o ${CMAKE_CURRENT_BINARY_DIR}/${file_name}.moc | |||||
| ) | |||||
| else() | |||||
| add_custom_command( | |||||
| OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${file_name}.moc | |||||
| COMMAND ${QT_MOC_EXECUTABLE} ${absolute_path} -o ${CMAKE_CURRENT_BINARY_DIR}/${file_name}.moc | |||||
| ) | |||||
| endif() | |||||
| list(APPEND qgpgme_MOC "${CMAKE_CURRENT_BINARY_DIR}/${file_name}.moc") | |||||
| endforeach() | |||||
| target_sources(QGpgme${config_suffix} PRIVATE ${qgpgme_MOC}) | |||||
| if ((${QT_MAJOR_VERSION} EQUAL 5) OR (NOT ${QGPGME_BUILD_QT5})) | |||||
| foreach(header ${qgpgme_CAMELCASE_HEADERS}) | |||||
| string(TOLOWER ${header} header_lc) | |||||
| file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/QGpgME/${header} "#include \"qgpgme/${header_lc}.h\"") | |||||
| list(APPEND qgpgme_HEADERS ${header_lc}.h) | |||||
| endforeach() | |||||
| endif() | |||||
| add_definitions(-DBUILDING_QGPGME) | |||||
| target_link_libraries(QGpgme${config_suffix} PUBLIC Gpgmepp PkgConfig::GPGERROR Qt${version}::Core) | |||||
| target_include_directories(QGpgme${config_suffix} | |||||
| INTERFACE | |||||
| $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}/qgpgme> | |||||
| $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}> | |||||
| PUBLIC | |||||
| $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}> | |||||
| PRIVATE | |||||
| $<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}> | |||||
| ) | |||||
| math(EXPR MAJOR "${LIBQGPGME_LT_CURRENT} - ${LIBQGPGME_LT_AGE}") | |||||
| set_target_properties(QGpgme${config_suffix} PROPERTIES | |||||
| VERSION "${MAJOR}.${LIBQGPGME_LT_AGE}.${LIBQGPGME_LT_REVISION}" | |||||
| SOVERSION "${MAJOR}" | |||||
| ) | |||||
| configure_package_config_file( | |||||
| "${CMAKE_CURRENT_SOURCE_DIR}/QGpgmeConfigCmake.cmake.in" | |||||
| "${CMAKE_CURRENT_BINARY_DIR}/QGpgme${config_suffix}Config.cmake" | |||||
| INSTALL_DESTINATION ${GPGME_LIBRARY_DIRS}/cmake/QGpgme${config_suffix} | |||||
| ) | |||||
| configure_file(${CMAKE_CURRENT_SOURCE_DIR}/QGpgme${config_suffix}ConfigVersion.cmake.in | |||||
| ${CMAKE_CURRENT_BINARY_DIR}/QGpgme${config_suffix}ConfigVersion.cmake @ONLY) | |||||
| configure_file(${CMAKE_CURRENT_SOURCE_DIR}/qgpgme_version.h.in | |||||
| ${CMAKE_CURRENT_BINARY_DIR}/qgpgme_version.h) | |||||
| install(TARGETS QGpgme${config_suffix} | |||||
| DESTINATION ${GPGME_LIBRARY_DIRS} | |||||
| EXPORT QGpgme${config_suffix}Targets | |||||
| ) | |||||
| install(EXPORT QGpgme${config_suffix}Targets | |||||
| DESTINATION "${GPGME_LIBRARY_DIRS}/cmake/QGpgme${config_suffix}" | |||||
| FILE QGpgme${config_suffix}ConfigTargets.cmake | |||||
| ) | |||||
| if ((${QT_MAJOR_VERSION} EQUAL 5) OR (NOT ${QGPGME_BUILD_QT5})) | |||||
| # Install headers only once | |||||
| install(FILES ${qgpgme_HEADERS} | |||||
| ${CMAKE_CURRENT_BINARY_DIR}/qgpgme_version.h | |||||
| ${CMAKE_CURRENT_SOURCE_DIR}/qgpgme_export.h | |||||
| DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/qgpgme) | |||||
| install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/QGpgME | |||||
| DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) | |||||
| endif() | |||||
| install(FILES ${CMAKE_CURRENT_BINARY_DIR}/QGpgme${config_suffix}ConfigVersion.cmake | |||||
| ${CMAKE_CURRENT_BINARY_DIR}/QGpgme${config_suffix}Config.cmake | |||||
| DESTINATION ${GPGME_LIBRARY_DIRS}/cmake/QGpgme${config_suffix}) | |||||