diff options
author | Oswald Buddenhagen <oswald.buddenhagen@nokia.com> | 2012-08-02 19:15:45 +0200 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2012-08-04 00:52:38 +0200 |
commit | ff0a759f8d70322d348e0d918248e56dae2e40d3 (patch) | |
tree | 1ae68fcd067a211904ea2335da94e7b5f4e10dea /mkspecs/features/dbuscommon.pri | |
parent | 55662549485be9b47984d4a54e730f531fb01f4a (diff) | |
download | qtbase-ff0a759f8d70322d348e0d918248e56dae2e40d3.tar.gz |
de-duplicate dbusadaptors.prf vs. dbusinterfaces.prf
it's two times the same code, once with "adaptor" (and an -a option) and
once with "interface" (and a -p option).
the de-duplicated code looks a bit nasty, as qmake cannot deal with
braces on the LHS yet.
Change-Id: I199a07947661ab9abe7a736b56c437f3f6dc4fa4
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@nokia.com>
Diffstat (limited to 'mkspecs/features/dbuscommon.pri')
-rw-r--r-- | mkspecs/features/dbuscommon.pri | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/mkspecs/features/dbuscommon.pri b/mkspecs/features/dbuscommon.pri new file mode 100644 index 0000000000..b2c62306aa --- /dev/null +++ b/mkspecs/features/dbuscommon.pri @@ -0,0 +1,57 @@ +load(moc) +qtPrepareTool(QMAKE_QDBUSXML2CPP, qdbusxml2cpp) + +defineReplace(qdbusOutputBasename) { + return($$lower($$section($$list($$basename(1)),.,-2,-2))) +} + +dbus_TYPE = $$upper($$dbus_type) +group = dbus_$${dbus_type} +GROUP = DBUS_$${dbus_TYPE} +input_list = $${GROUP}_LIST + +for(entry, $$list($$unique($${GROUP}S))) { + + !contains(entry, .*\\w\\.xml$) { + warning("Invalid D-BUS $${dbus_type}: '$$entry', please use 'com.mydomain.myinterface.xml' instead.") + next() + } + + $$input_list += $$entry +} + +# funny indent to avoid re-indentation in next commit + dthc = $${group}_header.commands + $$dthc = $$QMAKE_QDBUSXML2CPP $$qdbusxml2cpp_option ${QMAKE_FILE_OUT}: ${QMAKE_FILE_IN} + dtho = $${group}_header.output + $$dtho = ${QMAKE_FUNC_FILE_IN_qdbusOutputBasename}_$${dbus_type}.h + dthn = $${group}_header.name + $$dthn = DBUSXML2CPP $${dbus_TYPE} HEADER ${QMAKE_FILE_IN} + dthvo = $${group}_header.variable_out + $$dthvo = $${GROUP}_HEADERS + dthi = $${group}_header.input + $$dthi = $$input_list + + dtsc = $${group}_source.commands + $$dtsc = $$QMAKE_QDBUSXML2CPP -i ${QMAKE_FILE_OUT_BASE}.h $$qdbusxml2cpp_option :${QMAKE_FILE_OUT} ${QMAKE_FILE_IN} + dtso = $${group}_source.output + $$dtso = ${QMAKE_FUNC_FILE_IN_qdbusOutputBasename}_$${dbus_type}.cpp + dtsn = $${group}_source.name + $$dtsn = DBUSXML2CPP $${dbus_TYPE} SOURCE ${QMAKE_FILE_IN} + dtsvo = $${group}_source.variable_out + $$dtsvo = SOURCES + dtsi = $${group}_source.input + $$dtsi = $$input_list + + dtmc = $${group}_moc.commands + $$dtmc = $$moc_header.commands + dtmo = $${group}_moc.output + $$dtmo = $$moc_header.output + dtmi = $${group}_moc.input + $$dtmi = $${GROUP}_HEADERS + dtmvo = $${group}_moc.variable_out + $$dtmvo = GENERATED_SOURCES + dtmn = $${group}_moc.name + $$dtmn = $$moc_header.name + + QMAKE_EXTRA_COMPILERS += $${group}_header $${group}_source $${group}_moc |