94 lines
2.8 KiB
Prolog
94 lines
2.8 KiB
Prolog
TEMPLATE = subdirs
|
|
|
|
# Note: In the loop at the end of this file the plugin
|
|
# dependency on the libs will be defined
|
|
SUBDIRS += nymea-modbus-cli libnymea-modbus libnymea-sunspec
|
|
|
|
PLUGIN_DIRS = \
|
|
alphainnotec \
|
|
amperfied \
|
|
bgetech \
|
|
drexelundweiss \
|
|
huawei \
|
|
idm \
|
|
inepro \
|
|
inro \
|
|
kostal \
|
|
mennekes \
|
|
modbuscommander \
|
|
mtec \
|
|
mypv \
|
|
pcelectric \
|
|
phoenixconnect \
|
|
schrack \
|
|
senseair \
|
|
sma \
|
|
solax \
|
|
stiebeleltron \
|
|
sungrow \
|
|
sunspec \
|
|
vestel \
|
|
wattsonic \
|
|
webasto \
|
|
|
|
|
|
message(============================================)
|
|
message("Qt version:" $$[QT_VERSION])
|
|
|
|
!greaterThan(QT_MAJOR_VERSION, 5) {
|
|
# We disable unipi for
|
|
PLUGIN_DIRS += \
|
|
unipi
|
|
}
|
|
|
|
gcc {
|
|
COMPILER_VERSION = $$system($$QMAKE_CXX " -dumpversion")
|
|
COMPILER_MAJOR_VERSION = $$str_member($$COMPILER_VERSION)
|
|
greaterThan(COMPILER_MAJOR_VERSION, 7): QMAKE_CXXFLAGS += -Wno-deprecated-copy
|
|
}
|
|
|
|
plugininfo.depends = FORCE
|
|
for (entry, PLUGIN_DIRS):plugininfo.commands += test -d $${entry} || mkdir -p $${entry}; cd $${entry} && qmake -o Makefile $$PWD/$${entry}/$${entry}.pro && cd ..;
|
|
for (entry, PLUGIN_DIRS):plugininfo.commands += make -C $${entry} plugininfo.h;
|
|
QMAKE_EXTRA_TARGETS += plugininfo
|
|
|
|
# Translations:
|
|
# make lupdate to update .ts files
|
|
lupdate.depends = FORCE plugininfo
|
|
for (entry, PLUGIN_DIRS):lupdate.commands += make -C $${entry} lupdate;
|
|
QMAKE_EXTRA_TARGETS += lupdate
|
|
|
|
# make lrelease to build .qm from .ts
|
|
lrelease.depends = FORCE
|
|
for (entry, PLUGIN_DIRS):lrelease.commands += lrelease $$files($$PWD/$${entry}/translations/*.ts, true);
|
|
for (entry, PLUGIN_DIRS):lrelease.commands += rsync -a $$PWD/$${entry}/translations/*.qm $$OUT_PWD/translations/;
|
|
QMAKE_EXTRA_TARGETS += lrelease
|
|
|
|
# For Qt-Creator's code model: Add CPATH to INCLUDEPATH explicitly
|
|
INCLUDEPATH += $$(CPATH)
|
|
|
|
message("Usage: qmake [srcdir] [WITH_PLUGINS=\"...\"] [WITHOUT_PLUGINS=\"...\"]")
|
|
|
|
isEmpty(WITH_PLUGINS) {
|
|
PLUGINS = $${PLUGIN_DIRS}
|
|
} else {
|
|
PLUGINS = $${WITH_PLUGINS}
|
|
}
|
|
PLUGINS-=$${WITHOUT_PLUGINS}
|
|
|
|
message("Building plugins:")
|
|
for(plugin, PLUGINS) {
|
|
exists($${plugin}) {
|
|
SUBDIRS*= $${plugin}
|
|
message("- $${plugin}")
|
|
# Make sure the libs will be built before the plugins
|
|
equals(plugin, "sunspec") {
|
|
$${plugin}.depends += libnymea-sunspec
|
|
} else {
|
|
$${plugin}.depends += libnymea-modbus
|
|
}
|
|
} else {
|
|
error("Invalid plugin \"$${plugin}\".")
|
|
}
|
|
}
|