aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorNiels Ole Salscheider <niels_ole@salscheider-online.de>2017-09-03 21:55:36 +0200
committerNiels Ole Salscheider <niels_ole@salscheider-online.de>2017-09-04 19:44:01 +0200
commit3241e63f07c5fa493788897ddfb87a201205f621 (patch)
tree70c4a8e38d0ceca7aac5af3bdb6178e865eb7db1 /src
parent5804795a35d27f8d10301d5f40567a34efca2643 (diff)
downloadqxmpp-3241e63f07c5fa493788897ddfb87a201205f621.tar.gz
Initial CMake build system
Diffstat (limited to 'src')
-rw-r--r--src/CMakeLists.txt191
-rw-r--r--src/base/base.pri102
-rw-r--r--src/client/client.pri46
-rw-r--r--src/server/QXmppServerPlugin.cpp25
-rw-r--r--src/server/server.pri20
-rw-r--r--src/src.pro42
6 files changed, 216 insertions, 210 deletions
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
new file mode 100644
index 00000000..b4f659cb
--- /dev/null
+++ b/src/CMakeLists.txt
@@ -0,0 +1,191 @@
+add_definitions(-DQXMPP_BUILD)
+
+include_directories(base)
+include_directories(client)
+include_directories(server)
+
+set(INSTALL_HEADER_FILES
+ # Base
+ base/QXmppArchiveIq.h
+ base/QXmppBindIq.h
+ base/QXmppBookmarkSet.h
+ base/QXmppByteStreamIq.h
+ base/QXmppDataForm.h
+ base/QXmppDiscoveryIq.h
+ base/QXmppElement.h
+ base/QXmppEntityTimeIq.h
+ base/QXmppGlobal.h
+ base/QXmppIbbIq.h
+ base/QXmppIq.h
+ base/QXmppJingleIq.h
+ base/QXmppLogger.h
+ base/QXmppMamIq.h
+ base/QXmppMessage.h
+ base/QXmppMucIq.h
+ base/QXmppNonSASLAuth.h
+ base/QXmppPingIq.h
+ base/QXmppPresence.h
+ base/QXmppPubSubIq.h
+ base/QXmppRegisterIq.h
+ base/QXmppResultSet.h
+ base/QXmppRosterIq.h
+ base/QXmppRpcIq.h
+ base/QXmppRtcpPacket.h
+ base/QXmppRtpChannel.h
+ base/QXmppRtpPacket.h
+ base/QXmppSessionIq.h
+ base/QXmppSocks.h
+ base/QXmppStanza.h
+ base/QXmppStream.h
+ base/QXmppStreamFeatures.h
+ base/QXmppStun.h
+ base/QXmppUtils.h
+ base/QXmppVCardIq.h
+ base/QXmppVersionIq.h
+
+ # Client
+ client/QXmppArchiveManager.h
+ client/QXmppBookmarkManager.h
+ client/QXmppCallManager.h
+ client/QXmppCarbonManager.h
+ client/QXmppClient.h
+ client/QXmppClientExtension.h
+ client/QXmppConfiguration.h
+ client/QXmppDiscoveryManager.h
+ client/QXmppEntityTimeManager.h
+ client/QXmppInvokable.h
+ client/QXmppMamManager.h
+ client/QXmppMessageReceiptManager.h
+ client/QXmppMucManager.h
+ client/QXmppOutgoingClient.h
+ client/QXmppRemoteMethod.h
+ client/QXmppRosterManager.h
+ client/QXmppRpcManager.h
+ client/QXmppTransferManager.h
+ client/QXmppTransferManager_p.h
+ client/QXmppVCardManager.h
+ client/QXmppVersionManager.h
+
+ # Server
+ server/QXmppDialback.h
+ server/QXmppIncomingClient.h
+ server/QXmppIncomingServer.h
+ server/QXmppOutgoingServer.h
+ server/QXmppPasswordChecker.h
+ server/QXmppServer.h
+ server/QXmppServerExtension.h
+ server/QXmppServerPlugin.h
+)
+
+set(SOURCE_FILES
+ # Base
+ base/QXmppArchiveIq.cpp
+ base/QXmppBindIq.cpp
+ base/QXmppBookmarkSet.cpp
+ base/QXmppByteStreamIq.cpp
+ base/QXmppCodec.cpp
+ base/QXmppConstants.cpp
+ base/QXmppDataForm.cpp
+ base/QXmppDiscoveryIq.cpp
+ base/QXmppElement.cpp
+ base/QXmppEntityTimeIq.cpp
+ base/QXmppGlobal.cpp
+ base/QXmppIbbIq.cpp
+ base/QXmppIq.cpp
+ base/QXmppJingleIq.cpp
+ base/QXmppLogger.cpp
+ base/QXmppMamIq.cpp
+ base/QXmppMessage.cpp
+ base/QXmppMucIq.cpp
+ base/QXmppNonSASLAuth.cpp
+ base/QXmppPingIq.cpp
+ base/QXmppPresence.cpp
+ base/QXmppPubSubIq.cpp
+ base/QXmppRegisterIq.cpp
+ base/QXmppResultSet.cpp
+ base/QXmppRosterIq.cpp
+ base/QXmppRpcIq.cpp
+ base/QXmppRtcpPacket.cpp
+ base/QXmppRtpChannel.cpp
+ base/QXmppRtpPacket.cpp
+ base/QXmppSasl.cpp
+ base/QXmppSessionIq.cpp
+ base/QXmppSocks.cpp
+ base/QXmppStanza.cpp
+ base/QXmppStream.cpp
+ base/QXmppStreamFeatures.cpp
+ base/QXmppStreamInitiationIq.cpp
+ base/QXmppStreamManagement.cpp
+ base/QXmppStun.cpp
+ base/QXmppUtils.cpp
+ base/QXmppVCardIq.cpp
+ base/QXmppVersionIq.cpp
+
+ # Client
+ client/QXmppDiscoveryManager.cpp
+ client/QXmppArchiveManager.cpp
+ client/QXmppBookmarkManager.cpp
+ client/QXmppCallManager.cpp
+ client/QXmppCarbonManager.cpp
+ client/QXmppClient.cpp
+ client/QXmppClientExtension.cpp
+ client/QXmppConfiguration.cpp
+ client/QXmppEntityTimeManager.cpp
+ client/QXmppInvokable.cpp
+ client/QXmppMamManager.cpp
+ client/QXmppMessageReceiptManager.cpp
+ client/QXmppMucManager.cpp
+ client/QXmppOutgoingClient.cpp
+ client/QXmppRemoteMethod.cpp
+ client/QXmppRosterManager.cpp
+ client/QXmppRpcManager.cpp
+ client/QXmppTransferManager.cpp
+ client/QXmppVCardManager.cpp
+ client/QXmppVersionManager.cpp
+
+ # Server
+ server/QXmppDialback.cpp
+ server/QXmppIncomingClient.cpp
+ server/QXmppIncomingServer.cpp
+ server/QXmppOutgoingServer.cpp
+ server/QXmppPasswordChecker.cpp
+ server/QXmppServer.cpp
+ server/QXmppServerExtension.cpp
+ server/QXmppServerPlugin.cpp
+)
+
+add_library(qxmpp SHARED ${SOURCE_FILES})
+
+set_target_properties(qxmpp PROPERTIES
+ VERSION ${VERSION_STRING}
+ SOVERSION ${SO_VERSION}
+ EXPORT_NAME QXmpp
+ INTERFACE_INCLUDE_DIRECTORIES "${CMAKE_INSTALL_FULL_INCLUDEDIR}/qxmpp"
+)
+
+target_link_libraries(qxmpp
+ PUBLIC
+ Qt5::Core
+ Qt5::Network
+ Qt5::Xml
+)
+
+install(
+ TARGETS qxmpp
+ DESTINATION "${CMAKE_INSTALL_LIBDIR}"
+ EXPORT QXmppTarget
+)
+
+install(
+ EXPORT QXmppTarget
+ DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/qxmpp"
+ FILE QXmpp.cmake
+ NAMESPACE QXmpp::
+ COMPONENT Devel
+)
+
+install(
+ FILES ${INSTALL_HEADER_FILES}
+ DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/qxmpp"
+)
+
diff --git a/src/base/base.pri b/src/base/base.pri
deleted file mode 100644
index 45a74afb..00000000
--- a/src/base/base.pri
+++ /dev/null
@@ -1,102 +0,0 @@
-# Header files
-INSTALL_HEADERS += \
- base/QXmppArchiveIq.h \
- base/QXmppBindIq.h \
- base/QXmppBookmarkSet.h \
- base/QXmppByteStreamIq.h \
- base/QXmppDataForm.h \
- base/QXmppDiscoveryIq.h \
- base/QXmppElement.h \
- base/QXmppEntityTimeIq.h \
- base/QXmppGlobal.h \
- base/QXmppIbbIq.h \
- base/QXmppIq.h \
- base/QXmppJingleIq.h \
- base/QXmppLogger.h \
- base/QXmppMamIq.h \
- base/QXmppMessage.h \
- base/QXmppMucIq.h \
- base/QXmppNonSASLAuth.h \
- base/QXmppPingIq.h \
- base/QXmppPresence.h \
- base/QXmppPubSubIq.h \
- base/QXmppRegisterIq.h \
- base/QXmppResultSet.h \
- base/QXmppRosterIq.h \
- base/QXmppRpcIq.h \
- base/QXmppRtcpPacket.h \
- base/QXmppRtpChannel.h \
- base/QXmppRtpPacket.h \
- base/QXmppSessionIq.h \
- base/QXmppSocks.h \
- base/QXmppStanza.h \
- base/QXmppStream.h \
- base/QXmppStreamFeatures.h \
- base/QXmppStun.h \
- base/QXmppUtils.h \
- base/QXmppVCardIq.h \
- base/QXmppVersionIq.h
-
-HEADERS += \
- base/QXmppCodec_p.h \
- base/QXmppConstants_p.h \
- base/QXmppSasl_p.h \
- base/QXmppStanza_p.h \
- base/QXmppStreamInitiationIq_p.h \
- base/QXmppStun_p.h
-
-# Source files
-SOURCES += \
- base/QXmppArchiveIq.cpp \
- base/QXmppBindIq.cpp \
- base/QXmppBookmarkSet.cpp \
- base/QXmppByteStreamIq.cpp \
- base/QXmppCodec.cpp \
- base/QXmppConstants.cpp \
- base/QXmppDataForm.cpp \
- base/QXmppDiscoveryIq.cpp \
- base/QXmppElement.cpp \
- base/QXmppEntityTimeIq.cpp \
- base/QXmppGlobal.cpp \
- base/QXmppIbbIq.cpp \
- base/QXmppIq.cpp \
- base/QXmppJingleIq.cpp \
- base/QXmppLogger.cpp \
- base/QXmppMamIq.cpp \
- base/QXmppMessage.cpp \
- base/QXmppMucIq.cpp \
- base/QXmppNonSASLAuth.cpp \
- base/QXmppPingIq.cpp \
- base/QXmppPresence.cpp \
- base/QXmppPubSubIq.cpp \
- base/QXmppRegisterIq.cpp \
- base/QXmppResultSet.cpp \
- base/QXmppRosterIq.cpp \
- base/QXmppRpcIq.cpp \
- base/QXmppRtcpPacket.cpp \
- base/QXmppRtpChannel.cpp \
- base/QXmppRtpPacket.cpp \
- base/QXmppSasl.cpp \
- base/QXmppSessionIq.cpp \
- base/QXmppSocks.cpp \
- base/QXmppStanza.cpp \
- base/QXmppStream.cpp \
- base/QXmppStreamFeatures.cpp \
- base/QXmppStreamInitiationIq.cpp \
- base/QXmppStreamManagement.cpp \
- base/QXmppStun.cpp \
- base/QXmppUtils.cpp \
- base/QXmppVCardIq.cpp \
- base/QXmppVersionIq.cpp
-
-# DNS
-qt_version = $$QT_MAJOR_VERSION
-contains(qt_version, 4) {
- INSTALL_HEADERS += base/qdnslookup.h base/qdnslookup_p.h
- SOURCES += base/qdnslookup.cpp
- android:SOURCES += base/qdnslookup_stub.cpp
- else:symbian:SOURCES += base/qdnslookup_symbian.cpp
- else:unix:SOURCES += base/qdnslookup_unix.cpp
- else:win32:SOURCES += base/qdnslookup_win.cpp
- else:SOURCES += base/qdnslookup_stub.cpp
-}
diff --git a/src/client/client.pri b/src/client/client.pri
deleted file mode 100644
index bfb3094f..00000000
--- a/src/client/client.pri
+++ /dev/null
@@ -1,46 +0,0 @@
-# Header files
-INSTALL_HEADERS += \
- client/QXmppArchiveManager.h \
- client/QXmppBookmarkManager.h \
- client/QXmppCallManager.h \
- client/QXmppCarbonManager.h \
- client/QXmppClient.h \
- client/QXmppClientExtension.h \
- client/QXmppConfiguration.h \
- client/QXmppDiscoveryManager.h \
- client/QXmppEntityTimeManager.h \
- client/QXmppInvokable.h \
- client/QXmppMamManager.h \
- client/QXmppMessageReceiptManager.h \
- client/QXmppMucManager.h \
- client/QXmppOutgoingClient.h \
- client/QXmppRemoteMethod.h \
- client/QXmppRosterManager.h \
- client/QXmppRpcManager.h \
- client/QXmppTransferManager.h \
- client/QXmppTransferManager_p.h \
- client/QXmppVCardManager.h \
- client/QXmppVersionManager.h
-
-# Source files
-SOURCES += \
- client/QXmppDiscoveryManager.cpp \
- client/QXmppArchiveManager.cpp \
- client/QXmppBookmarkManager.cpp \
- client/QXmppCallManager.cpp \
- client/QXmppCarbonManager.cpp \
- client/QXmppClient.cpp \
- client/QXmppClientExtension.cpp \
- client/QXmppConfiguration.cpp \
- client/QXmppEntityTimeManager.cpp \
- client/QXmppInvokable.cpp \
- client/QXmppMamManager.cpp \
- client/QXmppMessageReceiptManager.cpp \
- client/QXmppMucManager.cpp \
- client/QXmppOutgoingClient.cpp \
- client/QXmppRemoteMethod.cpp \
- client/QXmppRosterManager.cpp \
- client/QXmppRpcManager.cpp \
- client/QXmppTransferManager.cpp \
- client/QXmppVCardManager.cpp \
- client/QXmppVersionManager.cpp
diff --git a/src/server/QXmppServerPlugin.cpp b/src/server/QXmppServerPlugin.cpp
new file mode 100644
index 00000000..d723ee4d
--- /dev/null
+++ b/src/server/QXmppServerPlugin.cpp
@@ -0,0 +1,25 @@
+/*
+ * Copyright (C) 2017 The QXmpp developers
+ *
+ * Author:
+ * Niels Ole Salscheider
+ *
+ * Source:
+ * https://github.com/qxmpp-project/qxmpp
+ *
+ * This file is a part of QXmpp library.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ */
+
+#include "QXmppServerPlugin.h"
+
diff --git a/src/server/server.pri b/src/server/server.pri
deleted file mode 100644
index 718119a8..00000000
--- a/src/server/server.pri
+++ /dev/null
@@ -1,20 +0,0 @@
-# Headers
-INSTALL_HEADERS += \
- server/QXmppDialback.h \
- server/QXmppIncomingClient.h \
- server/QXmppIncomingServer.h \
- server/QXmppOutgoingServer.h \
- server/QXmppPasswordChecker.h \
- server/QXmppServer.h \
- server/QXmppServerExtension.h \
- server/QXmppServerPlugin.h
-
-# Source files
-SOURCES += \
- server/QXmppDialback.cpp \
- server/QXmppIncomingClient.cpp \
- server/QXmppIncomingServer.cpp \
- server/QXmppOutgoingServer.cpp \
- server/QXmppPasswordChecker.cpp \
- server/QXmppServer.cpp \
- server/QXmppServerExtension.cpp
diff --git a/src/src.pro b/src/src.pro
deleted file mode 100644
index 6d4aa331..00000000
--- a/src/src.pro
+++ /dev/null
@@ -1,42 +0,0 @@
-include(../qxmpp.pri)
-
-QT -= gui
-
-TEMPLATE = lib
-
-CONFIG += $$QXMPP_LIBRARY_TYPE
-DEFINES += QXMPP_BUILD
-DEFINES += $$QXMPP_INTERNAL_DEFINES
-INCLUDEPATH += $$QXMPP_INCLUDEPATH $$QXMPP_INTERNAL_INCLUDES
-LIBS += $$QXMPP_INTERNAL_LIBS
-
-# Target definition
-TARGET = $$QXMPP_LIBRARY_NAME
-VERSION = $$QXMPP_VERSION
-win32 {
- DESTDIR = $$OUT_PWD
-}
-
-include(base/base.pri)
-include(client/client.pri)
-include(server/server.pri)
-
-HEADERS += $$INSTALL_HEADERS
-
-# Installation
-headers.files = $$INSTALL_HEADERS
-headers.path = $$PREFIX/include/qxmpp
-target.path = $$PREFIX/$$LIBDIR
-INSTALLS += headers target
-
-# pkg-config support
-CONFIG += create_pc create_prl no_install_prl
-QMAKE_PKGCONFIG_DESTDIR = pkgconfig
-QMAKE_PKGCONFIG_LIBDIR = $$target.path
-QMAKE_PKGCONFIG_INCDIR = $$headers.path
-equals(QXMPP_LIBRARY_TYPE,staticlib) {
- QMAKE_PKGCONFIG_CFLAGS = -DQXMPP_STATIC
-} else {
- QMAKE_PKGCONFIG_CFLAGS = -DQXMPP_SHARED
-}
-unix:QMAKE_CLEAN += -r pkgconfig lib$${TARGET}.prl