summaryrefslogtreecommitdiffstats
path: root/mkspecs/features/dbusadaptors.prf
diff options
context:
space:
mode:
Diffstat (limited to 'mkspecs/features/dbusadaptors.prf')
-rw-r--r--mkspecs/features/dbusadaptors.prf41
1 files changed, 41 insertions, 0 deletions
diff --git a/mkspecs/features/dbusadaptors.prf b/mkspecs/features/dbusadaptors.prf
new file mode 100644
index 0000000000..3463d586dd
--- /dev/null
+++ b/mkspecs/features/dbusadaptors.prf
@@ -0,0 +1,41 @@
+qtPrepareTool(QMAKE_QDBUSXML2CPP, qdbusxml2cpp)
+
+for(DBUS_ADAPTOR, $$list($$unique(DBUS_ADAPTORS))) {
+
+ !contains(DBUS_ADAPTOR, .*\\w\\.xml$) {
+ warning("Invalid D-BUS adaptor: '$${DBUS_ADAPTOR}', please use 'com.mydomain.myinterface.xml' instead.")
+ next()
+ }
+
+ DBUS_ADAPTOR_LIST += $${DBUS_ADAPTOR}
+}
+
+dbus_adaptor_header.commands = $$QMAKE_QDBUSXML2CPP -a ${QMAKE_FILE_OUT}: ${QMAKE_FILE_IN}
+dbus_adaptor_header.output_function = dbus_adaptor_header_output
+dbus_adaptor_header.name = DBUSXML2CPP ADAPTOR HEADER ${QMAKE_FILE_IN}
+dbus_adaptor_header.variable_out = DBUS_ADAPTOR_HEADERS
+dbus_adaptor_header.input = DBUS_ADAPTOR_LIST
+
+defineReplace(dbus_adaptor_header_output) {
+ return("$$lower($$section($$list($$basename(1)),.,-2,-2))_adaptor.h")
+}
+
+dbus_adaptor_source.commands = $$QMAKE_QDBUSXML2CPP -i ${QMAKE_FILE_OUT_BASE}.h -a :${QMAKE_FILE_OUT} ${QMAKE_FILE_IN}
+dbus_adaptor_source.output_function = dbus_adaptor_source_output
+dbus_adaptor_source.name = DBUSXML2CPP ADAPTOR SOURCE ${QMAKE_FILE_IN}
+dbus_adaptor_source.variable_out = SOURCES
+dbus_adaptor_source.input = DBUS_ADAPTOR_LIST
+
+load(moc)
+dbus_adaptor_moc.commands = $$moc_header.commands
+dbus_adaptor_moc.output = $$moc_header.output
+dbus_adaptor_moc.depends = $$dbus_adaptor_header.output
+dbus_adaptor_moc.input = DBUS_ADAPTOR_HEADERS
+dbus_adaptor_moc.variable_out = GENERATED_SOURCES
+dbus_adaptor_moc.name = $$moc_header.name
+
+defineReplace(dbus_adaptor_source_output) {
+ return("$$lower($$section($$list($$basename(1)),.,-2,-2))_adaptor.cpp")
+}
+
+QMAKE_EXTRA_COMPILERS += dbus_adaptor_header dbus_adaptor_source dbus_adaptor_moc