aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorLinus Jahn <lnj@kaidan.im>2022-12-29 21:10:16 +0100
committerLinus Jahn <lnj@kaidan.im>2022-12-29 21:10:16 +0100
commitbc23e5f27d9656823fe90f81be764f1eeb47110b (patch)
tree0e3a474a06e95615ebf824678cb4ac0eacf024e4 /src
parentd706274fcdda025e4459aeef1b59ea5a28f3368d (diff)
downloadqxmpp-bc23e5f27d9656823fe90f81be764f1eeb47110b.tar.gz
Clean up CMake
Diffstat (limited to 'src')
-rw-r--r--src/CMakeLists.txt102
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()