-
Notifications
You must be signed in to change notification settings - Fork 7
/
Copy pathnymea-plugins-modbus.pro
87 lines (76 loc) · 2.76 KB
/
nymea-plugins-modbus.pro
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
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 \
unipi \
vestel \
wattsonic \
webasto \
gcc {
COMPILER_VERSION = $$system($$QMAKE_CXX " -dumpversion")
COMPILER_MAJOR_VERSION = $$str_member($$COMPILER_VERSION)
greaterThan(COMPILER_MAJOR_VERSION, 7): QMAKE_CXXFLAGS += -Wno-deprecated-copy
}
message(============================================)
message("Qt version:" $$[QT_VERSION])
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}\".")
}
}