diff options
| author | Linus Jahn <lnj@kaidan.im> | 2022-05-31 12:22:48 +0200 |
|---|---|---|
| committer | Linus Jahn <lnj@kaidan.im> | 2022-08-13 15:55:03 +0200 |
| commit | f0e0e1cd227c08ffd97aa42813a479b8c3ca6d23 (patch) | |
| tree | 12ca6aefdef9195ee8937406db86e73cf1a5f820 /src/omemo/CMakeLists.txt | |
| parent | 87df8a8dda385558d39639ce09e2717974264ab6 (diff) | |
| download | qxmpp-f0e0e1cd227c08ffd97aa42813a479b8c3ca6d23.tar.gz | |
Split up OMEMO into extra module
Diffstat (limited to 'src/omemo/CMakeLists.txt')
| -rw-r--r-- | src/omemo/CMakeLists.txt | 91 |
1 files changed, 91 insertions, 0 deletions
diff --git a/src/omemo/CMakeLists.txt b/src/omemo/CMakeLists.txt new file mode 100644 index 00000000..3c6e403e --- /dev/null +++ b/src/omemo/CMakeLists.txt @@ -0,0 +1,91 @@ +# SPDX-FileCopyrightText: 2022 Linus Jahn <lnj@kaidan.im> +# +# SPDX-License-Identifier: CC0-1.0 + +include(CMakePackageConfigHelpers) +include(GenerateExportHeader) + +set(OMEMO_CMAKE_DIR "${CMAKE_INSTALL_LIBDIR}/cmake/QXmppOmemo") +set(OMEMO_HEADER_DIR "${CMAKE_INSTALL_FULL_INCLUDEDIR}/qxmpp/omemo") +set(OMEMO_INSTALL_HEADER_FILES + QXmppOmemoManager.h + QXmppOmemoMemoryStorage.h + QXmppOmemoStorage.h +) +set(OMEMO_SOURCE_FILES + OmemoCryptoProvider.cpp + QXmppOmemoData.cpp + QXmppOmemoManager.cpp + QXmppOmemoManager_p.cpp + QXmppOmemoMemoryStorage.cpp + QXmppOmemoStorage.cpp +) + +add_library(QXmppOmemo SHARED ${OMEMO_SOURCE_FILES}) + +target_link_libraries(QXmppOmemo + PUBLIC + qxmpp + Qt${QT_VERSION_MAJOR}::Core + PRIVATE + PkgConfig::OmemoC + qca-qt${QT_VERSION_MAJOR} +) +target_include_directories(QXmppOmemo + PUBLIC + ${OMEMO_HEADER_DIR} + PRIVATE + ${CMAKE_CURRENT_LIST_DIR} + ${CMAKE_CURRENT_BINARY_DIR} +) + +generate_export_header(QXmppOmemo) + +install( + FILES ${OMEMO_INSTALL_HEADER_FILES} ${CMAKE_CURRENT_BINARY_DIR}/qxmppomemo_export.h + DESTINATION ${OMEMO_HEADER_DIR} +) + +set_target_properties(QXmppOmemo PROPERTIES + VERSION ${PROJECT_VERSION} + SOVERSION ${SO_VERSION} + EXPORT_NAME Omemo +) + +install( + TARGETS QXmppOmemo + DESTINATION ${CMAKE_INSTALL_LIBDIR} + EXPORT QXmppOmemoTargets +) + +install( + EXPORT QXmppOmemoTargets + DESTINATION ${OMEMO_CMAKE_DIR} + FILE QXmppOmemo.cmake + NAMESPACE QXmpp:: + COMPONENT Devel +) + +export( + TARGETS QXmppOmemo + FILE QXmppOmemo.cmake +) + +configure_package_config_file( + QXmppOmemoConfig.cmake.in + ${CMAKE_CURRENT_BINARY_DIR}/QXmppOmemoConfig.cmake + INSTALL_DESTINATION ${OMEMO_CMAKE_DIR} +) + +write_basic_package_version_file( + ${CMAKE_CURRENT_BINARY_DIR}/QXmppOmemoConfigVersion.cmake + VERSION ${PROJECT_VERSION} + COMPATIBILITY SameMajorVersion +) + +install( + FILES ${CMAKE_CURRENT_BINARY_DIR}/QXmppOmemoConfig.cmake + ${CMAKE_CURRENT_BINARY_DIR}/QXmppOmemoConfigVersion.cmake + DESTINATION ${OMEMO_CMAKE_DIR} + COMPONENT Devel +) |
