diff options
| author | Linus Jahn <lnj@kaidan.im> | 2023-03-19 01:48:29 +0100 |
|---|---|---|
| committer | Linus Jahn <lnj@kaidan.im> | 2023-04-07 15:58:12 +0200 |
| commit | 7d1e74b5147f411d30f2d76420ba62737ec93ab9 (patch) | |
| tree | 047c3770ffa30e539811fa13094117d0781a47dd /src | |
| parent | 894299926df1c2bf20a1493e92295925a35eaf6b (diff) | |
| download | qxmpp-7d1e74b5147f411d30f2d76420ba62737ec93ab9.tar.gz | |
Support installing QXmpp with Qt 5 and Qt 6 in parallel
Closes #540.
Diffstat (limited to 'src')
| -rw-r--r-- | src/CMakeLists.txt | 35 | ||||
| -rw-r--r-- | src/omemo/CMakeLists.txt | 28 | ||||
| -rw-r--r-- | src/omemo/QXmppOmemoConfig.cmake.in | 4 |
3 files changed, 34 insertions, 33 deletions
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 54120b8a..e4b35429 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -271,28 +271,28 @@ set(SOURCE_FILES ) if(BUILD_SHARED) - add_library(qxmpp SHARED ${SOURCE_FILES}) + add_library(${QXMPP_TARGET} SHARED ${SOURCE_FILES}) else() - add_library(qxmpp STATIC ${SOURCE_FILES}) + add_library(${QXMPP_TARGET} STATIC ${SOURCE_FILES}) endif() -set_target_properties(qxmpp PROPERTIES +set_target_properties(${QXMPP_TARGET} PROPERTIES VERSION ${PROJECT_VERSION} SOVERSION ${SO_VERSION} EXPORT_NAME QXmpp ) -target_include_directories(qxmpp +target_include_directories(${QXMPP_TARGET} PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/base> $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/client> $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/server> - $<INSTALL_INTERFACE:include/qxmpp> + $<INSTALL_INTERFACE:include/${QXMPP_TARGET}> PRIVATE ${CMAKE_CURRENT_BINARY_DIR} ) -target_link_libraries(qxmpp +target_link_libraries(${QXMPP_TARGET} PUBLIC Qt${QT_VERSION_MAJOR}::Core Qt${QT_VERSION_MAJOR}::Network @@ -311,21 +311,21 @@ if(WITH_GSTREAMER) client/QXmppCallStream.h ) - target_sources(qxmpp + target_sources(${QXMPP_TARGET} PRIVATE client/QXmppCall.cpp client/QXmppCallManager.cpp client/QXmppCallStream.cpp ) - target_link_libraries(qxmpp + target_link_libraries(${QXMPP_TARGET} PRIVATE ${GLIB2_LIBRARIES} ${GOBJECT_LIBRARIES} ${GSTREAMER_LIBRARY} ) - target_include_directories(qxmpp + target_include_directories(${QXMPP_TARGET} PRIVATE ${GLIB2_INCLUDE_DIR} ${GOBJECT_INCLUDE_DIR} @@ -335,13 +335,13 @@ endif() if(BUILD_OMEMO) # required to be used in QXmppMessage - target_sources(qxmpp PRIVATE base/QXmppOmemoDataBase.cpp) + target_sources(${QXMPP_TARGET} PRIVATE base/QXmppOmemoDataBase.cpp) endif() if(WITH_QCA) - target_sources(qxmpp PRIVATE client/QXmppEncryptedFileSharingProvider.cpp client/QXmppFileEncryption.cpp client/QcaInitializer.cpp) + target_sources(${QXMPP_TARGET} PRIVATE client/QXmppEncryptedFileSharingProvider.cpp client/QXmppFileEncryption.cpp client/QcaInitializer.cpp) set(INSTALL_HEADER_FILES ${INSTALL_HEADER_FILES} client/QXmppEncryptedFileSharingProvider.h) - target_link_libraries(qxmpp PRIVATE qca-qt${QT_VERSION_MAJOR}) + target_link_libraries(${QXMPP_TARGET} PRIVATE qca-qt${QT_VERSION_MAJOR}) endif() # qxmpp_export.h generation @@ -358,12 +358,13 @@ set(QXMPP_CUSTOM_EXPORT_CONTENT " #define QXMPP_VERSION_PATCH ${PROJECT_VERSION_PATCH} ") -generate_export_header(qxmpp +generate_export_header(${QXMPP_TARGET} + BASE_NAME qxmpp CUSTOM_CONTENT_FROM_VARIABLE QXMPP_CUSTOM_EXPORT_CONTENT ) install( - TARGETS qxmpp + TARGETS ${QXMPP_TARGET} EXPORT QXmppTarget RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} @@ -372,20 +373,20 @@ install( install( EXPORT QXmppTarget - DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/qxmpp" + DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/${QXMPP_TARGET}" FILE QXmpp.cmake NAMESPACE QXmpp:: COMPONENT Devel ) export( - TARGETS qxmpp + TARGETS ${QXMPP_TARGET} FILE QXmpp.cmake ) install( FILES ${INSTALL_HEADER_FILES} ${CMAKE_CURRENT_BINARY_DIR}/qxmpp_export.h - DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/qxmpp" + DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/${QXMPP_TARGET}" ) # submodules diff --git a/src/omemo/CMakeLists.txt b/src/omemo/CMakeLists.txt index 89e1f06c..ce6ccafb 100644 --- a/src/omemo/CMakeLists.txt +++ b/src/omemo/CMakeLists.txt @@ -4,8 +4,8 @@ include(CMakePackageConfigHelpers) -set(OMEMO_CMAKE_DIR "${CMAKE_INSTALL_LIBDIR}/cmake/QXmppOmemo") -set(OMEMO_HEADER_DIR "${CMAKE_INSTALL_FULL_INCLUDEDIR}/qxmpp/omemo") +set(OMEMO_CMAKE_DIR "${CMAKE_INSTALL_LIBDIR}/cmake/${QXMPPOMEMO_TARGET}") +set(OMEMO_HEADER_DIR "${CMAKE_INSTALL_FULL_INCLUDEDIR}/${QXMPP_TARGET}/Omemo") set(OMEMO_INSTALL_HEADER_FILES QXmppOmemoManager.h QXmppOmemoMemoryStorage.h @@ -20,17 +20,17 @@ set(OMEMO_SOURCE_FILES QXmppOmemoStorage.cpp ) -add_library(QXmppOmemo SHARED ${OMEMO_SOURCE_FILES}) +add_library(${QXMPPOMEMO_TARGET} SHARED ${OMEMO_SOURCE_FILES}) -target_link_libraries(QXmppOmemo +target_link_libraries(${QXMPPOMEMO_TARGET} PUBLIC - qxmpp + ${QXMPP_TARGET} Qt${QT_VERSION_MAJOR}::Core PRIVATE PkgConfig::OmemoC qca-qt${QT_VERSION_MAJOR} ) -target_include_directories(QXmppOmemo +target_include_directories(${QXMPPOMEMO_TARGET} PUBLIC ${OMEMO_HEADER_DIR} PRIVATE @@ -39,21 +39,21 @@ target_include_directories(QXmppOmemo ${PROJECT_BINARY_DIR}/src ) -generate_export_header(QXmppOmemo) +generate_export_header(${QXMPPOMEMO_TARGET} BASE_NAME qxmppomemo) install( FILES ${OMEMO_INSTALL_HEADER_FILES} ${CMAKE_CURRENT_BINARY_DIR}/qxmppomemo_export.h DESTINATION ${OMEMO_HEADER_DIR} ) -set_target_properties(QXmppOmemo PROPERTIES +set_target_properties(${QXMPPOMEMO_TARGET} PROPERTIES VERSION ${PROJECT_VERSION} SOVERSION ${SO_VERSION} EXPORT_NAME Omemo ) install( - TARGETS QXmppOmemo + TARGETS ${QXMPPOMEMO_TARGET} EXPORT QXmppOmemoTargets RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} @@ -69,25 +69,25 @@ install( ) export( - TARGETS QXmppOmemo + TARGETS ${QXMPPOMEMO_TARGET} FILE QXmppOmemo.cmake ) configure_package_config_file( QXmppOmemoConfig.cmake.in - ${CMAKE_CURRENT_BINARY_DIR}/QXmppOmemoConfig.cmake + ${CMAKE_CURRENT_BINARY_DIR}/${QXMPPOMEMO_TARGET}Config.cmake INSTALL_DESTINATION ${OMEMO_CMAKE_DIR} ) write_basic_package_version_file( - ${CMAKE_CURRENT_BINARY_DIR}/QXmppOmemoConfigVersion.cmake + ${CMAKE_CURRENT_BINARY_DIR}/${QXMPPOMEMO_TARGET}ConfigVersion.cmake VERSION ${PROJECT_VERSION} COMPATIBILITY SameMajorVersion ) install( - FILES ${CMAKE_CURRENT_BINARY_DIR}/QXmppOmemoConfig.cmake - ${CMAKE_CURRENT_BINARY_DIR}/QXmppOmemoConfigVersion.cmake + FILES ${CMAKE_CURRENT_BINARY_DIR}/${QXMPPOMEMO_TARGET}Config.cmake + ${CMAKE_CURRENT_BINARY_DIR}/${QXMPPOMEMO_TARGET}ConfigVersion.cmake DESTINATION ${OMEMO_CMAKE_DIR} COMPONENT Devel ) diff --git a/src/omemo/QXmppOmemoConfig.cmake.in b/src/omemo/QXmppOmemoConfig.cmake.in index 5363c0f5..68596637 100644 --- a/src/omemo/QXmppOmemoConfig.cmake.in +++ b/src/omemo/QXmppOmemoConfig.cmake.in @@ -5,8 +5,8 @@ @PACKAGE_INIT@ include(CMakeFindDependencyMacro) -find_dependency(QXmpp) +find_dependency(QXmppQt@QT_VERSION_MAJOR@) include("${CMAKE_CURRENT_LIST_DIR}/QXmppOmemo.cmake") -check_required_components(QXmppOmemo) +check_required_components(QXmppOmemoQt@QT_VERSION_MAJOR@) |
