diff options
| author | Linus Jahn <lnj@kaidan.im> | 2022-12-29 21:10:16 +0100 |
|---|---|---|
| committer | Linus Jahn <lnj@kaidan.im> | 2022-12-29 21:10:16 +0100 |
| commit | bc23e5f27d9656823fe90f81be764f1eeb47110b (patch) | |
| tree | 0e3a474a06e95615ebf824678cb4ac0eacf024e4 /src | |
| parent | d706274fcdda025e4459aeef1b59ea5a28f3368d (diff) | |
| download | qxmpp-bc23e5f27d9656823fe90f81be764f1eeb47110b.tar.gz | |
Clean up CMake
Diffstat (limited to 'src')
| -rw-r--r-- | src/CMakeLists.txt | 102 |
1 files changed, 49 insertions, 53 deletions
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index b63d04e0..ac06abcc 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -4,12 +4,6 @@ include(GenerateExportHeader) -option(BUILD_SHARED "Build SHARED library" ON) - -include_directories(${CMAKE_CURRENT_SOURCE_DIR}/base) -include_directories(${CMAKE_CURRENT_SOURCE_DIR}/client) -include_directories(${CMAKE_CURRENT_SOURCE_DIR}/server) - set(INSTALL_HEADER_FILES # Base base/QXmppArchiveIq.h @@ -269,31 +263,6 @@ set(SOURCE_FILES server/QXmppServerPlugin.cpp ) -if(BUILD_OMEMO) - # required to be used in QXmppMessage - set(SOURCE_FILES ${SOURCE_FILES} base/QXmppOmemoDataBase.cpp) -endif() - -if(WITH_GSTREAMER) - find_package(GStreamer REQUIRED) - find_package(GLIB2 REQUIRED) - find_package(GObject REQUIRED) - - set(INSTALL_HEADER_FILES - ${INSTALL_HEADER_FILES} - client/QXmppCall.h - client/QXmppCallManager.h - client/QXmppCallStream.h - ) - - set(SOURCE_FILES - ${SOURCE_FILES} - client/QXmppCall.cpp - client/QXmppCallManager.cpp - client/QXmppCallStream.cpp - ) -endif() - if(BUILD_SHARED) add_library(qxmpp SHARED ${SOURCE_FILES}) else() @@ -306,33 +275,12 @@ set_target_properties(qxmpp PROPERTIES EXPORT_NAME QXmpp ) -if(BUILD_SHARED) - set(QXMPP_BUILD_SHARED true) -else() - set(QXMPP_BUILD_SHARED false) -endif() - -set(QXMPP_CUSTOM_EXPORT_CONTENT " -#define QXMPP_BUILD_SHARED ${QXMPP_BUILD_SHARED} -#define QXMPP_VERSION_MAJOR ${PROJECT_VERSION_MAJOR} -#define QXMPP_VERSION_MINOR ${PROJECT_VERSION_MINOR} -#define QXMPP_VERSION_PATCH ${PROJECT_VERSION_PATCH} -") - -generate_export_header(qxmpp - CUSTOM_CONTENT_FROM_VARIABLE QXMPP_CUSTOM_EXPORT_CONTENT -) - target_include_directories(qxmpp PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/base> $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/client> $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/server> - $<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}/base> $<INSTALL_INTERFACE:include/qxmpp> - ${GLIB2_INCLUDE_DIR} - ${GOBJECT_INCLUDE_DIR} - ${GSTREAMER_INCLUDE_DIRS} PRIVATE ${CMAKE_CURRENT_BINARY_DIR} ) @@ -345,21 +293,68 @@ target_link_libraries(qxmpp ) if(WITH_GSTREAMER) + find_package(GStreamer REQUIRED) + find_package(GLIB2 REQUIRED) + find_package(GObject REQUIRED) + + set(INSTALL_HEADER_FILES + ${INSTALL_HEADER_FILES} + client/QXmppCall.h + client/QXmppCallManager.h + client/QXmppCallStream.h + ) + + target_sources(qxmpp + PRIVATE + client/QXmppCall.cpp + client/QXmppCallManager.cpp + client/QXmppCallStream.cpp + ) + target_link_libraries(qxmpp PRIVATE ${GLIB2_LIBRARIES} ${GOBJECT_LIBRARIES} ${GSTREAMER_LIBRARY} ) + + target_include_directories(qxmpp + PRIVATE + ${GLIB2_INCLUDE_DIR} + ${GOBJECT_INCLUDE_DIR} + ${GSTREAMER_INCLUDE_DIRS} + ) +endif() + +if(BUILD_OMEMO) + # required to be used in QXmppMessage + target_sources(qxmpp PRIVATE base/QXmppOmemoDataBase.cpp) endif() if(WITH_QCA) target_sources(qxmpp 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_compile_definitions(qxmpp PRIVATE -DWITH_QCA) endif() +# qxmpp_export.h generation +if(BUILD_SHARED) + set(QXMPP_BUILD_SHARED true) +else() + set(QXMPP_BUILD_SHARED false) +endif() + +set(QXMPP_CUSTOM_EXPORT_CONTENT " +#define QXMPP_BUILD_SHARED ${QXMPP_BUILD_SHARED} +#define QXMPP_VERSION_MAJOR ${PROJECT_VERSION_MAJOR} +#define QXMPP_VERSION_MINOR ${PROJECT_VERSION_MINOR} +#define QXMPP_VERSION_PATCH ${PROJECT_VERSION_PATCH} +") + +generate_export_header(qxmpp + CUSTOM_CONTENT_FROM_VARIABLE QXMPP_CUSTOM_EXPORT_CONTENT +) + install( TARGETS qxmpp DESTINATION "${CMAKE_INSTALL_LIBDIR}" @@ -384,6 +379,7 @@ install( DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/qxmpp" ) +# submodules if(BUILD_OMEMO) add_subdirectory(omemo) endif() |
