61 lines
2.4 KiB
Plaintext
61 lines
2.4 KiB
Plaintext
TEMPLATE = lib
|
|
CONFIG += plugin
|
|
|
|
QMAKE_CXXFLAGS += -Werror -std=c++11 -g
|
|
QMAKE_LFLAGS += -std=c++11
|
|
|
|
# FIXME: Ideally libnymea-dev would ship pkgconfig files so we get libnymea includes from there
|
|
INCLUDEPATH += $$[QT_INSTALL_HEADERS]/../nymea
|
|
|
|
LIBS += -lnymea
|
|
HEADERS += $${OUT_PWD}/plugininfo.h \
|
|
$${OUT_PWD}/extern-plugininfo.h
|
|
|
|
# Check if this is a snap build
|
|
snappy{
|
|
INCLUDEPATH+=$$(SNAPCRAFT_STAGE)/usr/include/nymea
|
|
}
|
|
|
|
# Make the device plugin json file visible in the Qt Creator
|
|
OTHER_FILES += $$PWD/$${TARGET}/deviceplugin"$$TARGET".json
|
|
|
|
# NOTE: if the code includes "plugininfo.h", it would fail if we only give it a compiler for $$OUT_PWD/plugininfo.h
|
|
# Let's add a dummy target with the plugininfo.h file without any path to allow the developer to just include it like that.
|
|
|
|
# Create plugininfo file
|
|
plugininfo.target = $$OUT_PWD/plugininfo.h
|
|
plugininfo_dummy.target = plugininfo.h
|
|
plugininfo.depends = FORCE
|
|
plugininfo.commands = nymea-generateplugininfo --filetype i --jsonfile $$PWD/$${TARGET}/deviceplugin"$$TARGET".json --output plugininfo.h --builddir $$OUT_PWD
|
|
plugininfo_dummy.commands = $$plugininfo.commands
|
|
QMAKE_EXTRA_TARGETS += plugininfo plugininfo_dummy
|
|
|
|
# Create extern-plugininfo file
|
|
extern_plugininfo.target = $$OUT_PWD/extern-plugininfo.h
|
|
extern_plugininfo_dummy.target = extern-plugininfo.h
|
|
extern_plugininfo.depends = FORCE
|
|
extern_plugininfo.commands = nymea-generateplugininfo --filetype e --jsonfile $$PWD/$${TARGET}/deviceplugin"$$TARGET".json --output extern-plugininfo.h --builddir $$OUT_PWD
|
|
extern_plugininfo_dummy.commands = $$extern_plugininfo.commands
|
|
QMAKE_EXTRA_TARGETS += extern_plugininfo extern_plugininfo_dummy
|
|
|
|
# Clean up autogenerated plugin info files
|
|
plugininfo_clean.commands = rm -fv $$OUT_PWD/plugininfo.h $$OUT_PWD/extern-plugininfo.h
|
|
clean.depends = plugininfo_clean
|
|
QMAKE_EXTRA_TARGETS += clean plugininfo_clean
|
|
|
|
# Install translation files
|
|
TRANSLATIONS *= $$files($${PWD}/$${TARGET}/translations/*ts, true)
|
|
lupdate.depends = FORCE
|
|
lupdate.depends += plugininfo.h
|
|
lupdate.commands = lupdate -recursive -no-obsolete $$PWD/"$$TARGET"/"$$TARGET".pro;
|
|
QMAKE_EXTRA_TARGETS += lupdate
|
|
|
|
translations.path = /usr/share/nymea/translations
|
|
translations.files = $$[QT_SOURCE_TREE]/translations/*.qm
|
|
TRANSLATIONS += $$files($$[QT_SOURCE_TREE]/translations/*.ts, true)
|
|
|
|
# Install plugin
|
|
target.path = $$[QT_INSTALL_LIBS]/nymea/plugins/
|
|
INSTALLS += target translations
|
|
|