diff --git a/.gitignore b/.gitignore index 0161bd7..1cd3ed2 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,2 @@ *.user - +.crossbuilder diff --git a/debian/changelog b/debian/changelog new file mode 100644 index 0000000..9116e77 --- /dev/null +++ b/debian/changelog @@ -0,0 +1,5 @@ +nymea-mqtt (0.1.0) UNRELEASED; urgency=medium + + * Initial release. + + -- Michael Zanetti Tue, 13 Nov 2018 01:04:13 +0100 diff --git a/debian/compat b/debian/compat new file mode 100644 index 0000000..ec63514 --- /dev/null +++ b/debian/compat @@ -0,0 +1 @@ +9 diff --git a/debian/control b/debian/control new file mode 100644 index 0000000..f0aeb4b --- /dev/null +++ b/debian/control @@ -0,0 +1,35 @@ +Source: nymea-mqtt +Section: comm +Priority: optional +Maintainer: Michael Zanetti +Build-Depends: + qtbase5-dev, +Standards-Version: 4.0.0 +Homepage: http://nymea.io + +Package: libnymea-mqtt +Architecture: any +Depends: + ${misc:Depends}, + ${shlibs:Depends}, +Description: nymea-mqtt libraries + nymea-mqtt is a mqtt broker implementation + +Package: libnymea-mqtt-dev +Section: devel +Architecture: any +Depends: + libnymea-mqtt (=${binary:Version}), + ${misc:Depends}, +Description: nymea-mqtt libaries - development files + nymea-mqtt is a mqtt broker implementation. This package contains + related development files. + +Package: nymea-mqtt-server +Architecture: any +Depends: + ${misc:Depends}, + ${shlibs:Depends}, +Description: nymea-mqtt standalone server + nymea-mqtt is a mqtt broker implementation. This package contains + a standalone mqtt server. diff --git a/debian/libnymea-mqtt-dev.install.in b/debian/libnymea-mqtt-dev.install.in new file mode 100644 index 0000000..20dd332 --- /dev/null +++ b/debian/libnymea-mqtt-dev.install.in @@ -0,0 +1,2 @@ +usr/lib/@DEB_HOST_MULTIARCH@/libnymea-mqtt.so +usr/include/nymea-mqtt/ diff --git a/debian/libnymea-mqtt.install.in b/debian/libnymea-mqtt.install.in new file mode 100644 index 0000000..ab85e26 --- /dev/null +++ b/debian/libnymea-mqtt.install.in @@ -0,0 +1,3 @@ +usr/lib/@DEB_HOST_MULTIARCH@/libnymea-mqtt.so.1 +usr/lib/@DEB_HOST_MULTIARCH@/libnymea-mqtt.so.1.0 +usr/lib/@DEB_HOST_MULTIARCH@/libnymea-mqtt.so.1.0.0 diff --git a/debian/nymea-mqtt-server.install b/debian/nymea-mqtt-server.install new file mode 100644 index 0000000..ad0fbfe --- /dev/null +++ b/debian/nymea-mqtt-server.install @@ -0,0 +1 @@ +/usr/bin/nymea-mqttserver diff --git a/debian/rules b/debian/rules new file mode 100755 index 0000000..81a7e12 --- /dev/null +++ b/debian/rules @@ -0,0 +1,25 @@ +#!/usr/bin/make -f +# -*- makefile -*- + +export DH_VERBOSE=1 + +DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH) + +PREPROCESS_FILES := $(wildcard debian/*.in) + +$(PREPROCESS_FILES:.in=): %: %.in + sed 's,/@DEB_HOST_MULTIARCH@,$(DEB_HOST_MULTIARCH:%=/%),g' $< > $@ + + +override_dh_install: $(PREPROCESS_FILES:.in=) + dh_install + +override_dh_auto_test: + LD_LIBRARY_PATH=`pwd`/libnymea-mqtt/ dh_auto_test + +override_dh_auto_clean: + dh_auto_clean + rm -rf $(PREPROCESS_FILES:.in=) + +%: + dh $@ --buildsystem=qmake --parallel diff --git a/debian/source/format b/debian/source/format new file mode 100644 index 0000000..435dd71 --- /dev/null +++ b/debian/source/format @@ -0,0 +1,2 @@ +3.0 (native) + diff --git a/libnymea-mqtt/libnymea-mqtt.pri b/libnymea-mqtt/libnymea-mqtt.pri index 3ab25bf..9e4ced1 100644 --- a/libnymea-mqtt/libnymea-mqtt.pri +++ b/libnymea-mqtt/libnymea-mqtt.pri @@ -1,22 +1,30 @@ +TARGET = nymea-mqtt + QT -= gui QT += network -CONFIG += c++11 console static +CONFIG += c++11 console static shared CONFIG -= app_bundle +target.path = /usr/lib/$$system('dpkg-architecture -q DEB_HOST_MULTIARCH') +INSTALLS += target + SOURCES += \ mqttserver.cpp \ mqttpacket.cpp \ mqttsubscription.cpp \ $$PWD/mqttclient.cpp -HEADERS += \ +PRIVATE_HEADERS = \ + mqttpacket_p.h \ + mqttclient_p.h \ + mqttserver_p.h + +PUBLIC_HEADERS = \ mqttserver.h \ mqttpacket.h \ mqtt.h \ mqttsubscription.h \ - $$PWD/mqttclient.h \ - $$PWD/mqttpacket_p.h \ - $$PWD/mqttclient_p.h \ - $$PWD/mqttserver_p.h + mqttclient.h \ +HEADERS += $$PRIVATE_HEADERS + $$PUBLIC_HEADERS diff --git a/libnymea-mqtt/libnymea-mqtt.pro b/libnymea-mqtt/libnymea-mqtt.pro index 1e3dd28..817e6fe 100644 --- a/libnymea-mqtt/libnymea-mqtt.pro +++ b/libnymea-mqtt/libnymea-mqtt.pro @@ -2,3 +2,9 @@ TEMPLATE = lib TARGET = nymea-mqtt include(libnymea-mqtt.pri) + +# install headers +pubheaders.files += $$PUBLIC_HEADERS +pubheaders.path = /usr/include/nymea-mqtt/ +INSTALLS += pubheaders + diff --git a/server/server.pro b/server/server.pro index 1c5be81..4df90a0 100644 --- a/server/server.pro +++ b/server/server.pro @@ -10,3 +10,6 @@ INCLUDEPATH += $$top_srcdir/libnymea-mqtt/ SOURCES += main.cpp LIBS += -L$$top_builddir/libnymea-mqtt/ -lnymea-mqtt + +target.path = /usr/bin/ +INSTALLS += target