From 62d87579b85a9f3040f62fbe7bb1af69f7650bfe Mon Sep 17 00:00:00 2001 From: Michael Zanetti Date: Wed, 5 Jun 2019 00:23:04 +0200 Subject: [PATCH] rework plugininfo target a bit to be more reliable --- libnymea/plugin/plugin.pri | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/libnymea/plugin/plugin.pri b/libnymea/plugin/plugin.pri index a3361ad3..3d02b6d0 100644 --- a/libnymea/plugin/plugin.pri +++ b/libnymea/plugin/plugin.pri @@ -20,7 +20,8 @@ # This project include file is meant to be used by nymea plugins. # Example project file for a plugin: -# include($$[QT_INSTALL_PREFIX]/include/nymea/plugin.pri) +# include(/usr/include/nymea/plugi.pri) +# TARGET = $$qtLibraryTarget(nymea_devicepluginexample) # SOURCES += devicepluginexample.cpp # HEADERS += devicepluginexample.h @@ -50,15 +51,21 @@ OTHER_FILES+=deviceplugin"$$TARGET".json # Create plugininfo file plugininfo.target = $$OUT_PWD/plugininfo.h plugininfo_dummy.target = plugininfo.h +plugininfo.depends = FORCE +plugininfo.commands = nymea-generateplugininfo --filetype i --jsonfile $${_PRO_FILE_PWD_}/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 -plugininfo.depends = FORCE -plugininfo.commands = nymea-generateplugininfo --filetype i --jsonfile $${_PRO_FILE_PWD_}/deviceplugin"$$TARGET".json --output plugininfo.h --builddir $$OUT_PWD; \ - nymea-generateplugininfo --filetype e --jsonfile $${_PRO_FILE_PWD_}/deviceplugin"$$TARGET".json --output extern-plugininfo.h --builddir $$OUT_PWD -plugininfo_dummy.commands = $$plugininfo.commands -QMAKE_EXTRA_TARGETS += plugininfo plugininfo_dummy extern_plugininfo extern_plugininfo_dummy +extern_plugininfo.depends = FORCE +extern_plugininfo.commands = nymea-generateplugininfo --filetype e --jsonfile $${_PRO_FILE_PWD_}/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 -plugininfo_clean.commands = rm -f $$OUT_PWD/plugininfo.h $$OUT_PWD/extern-plugininfo.h +# 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