mkspecs/features/dbusinterfaces.prf
author Eckhart Koeppen <eckhart.koppen@nokia.com>
Thu, 08 Apr 2010 14:19:33 +0300
branchRCL_3
changeset 8 3f74d0d4af4c
parent 0 1918ee327afb
child 29 b72c6db6890b
permissions -rw-r--r--
qt:70947f0f93d948bc89b3b43d00da758a51f1ef84

load(moc)

isEmpty(QMAKE_QDBUSXML2CPP) {
    win32:QMAKE_QDBUSXML2CPP = $$[QT_INSTALL_BINS]\qdbusxml2cpp.exe
    else:QMAKE_QDBUSXML2CPP = $$[QT_INSTALL_BINS]/qdbusxml2cpp
}

for(DBUS_INTERFACE, $$list($$unique(DBUS_INTERFACES))) {

    !contains(DBUS_INTERFACE, .*\w\.xml$) {
        warning("Invalid D-BUS interface : '$${DBUS_INTERFACE}', please use 'com.mydomain.myinterface.xml' instead.")
        next()
    }

    DBUS_INTERFACE_LIST += $${DBUS_INTERFACE}
}

dbus_interface_header.commands = $$QMAKE_QDBUSXML2CPP -p ${QMAKE_FILE_OUT}: ${QMAKE_FILE_IN}
dbus_interface_header.output_function = dbus_interface_header_output
dbus_interface_header.name = DBUSXML2CPP INTERFACE HEADER ${QMAKE_FILE_IN}
dbus_interface_header.variable_out = DBUS_INTERFACE_HEADERS
dbus_interface_header.input = DBUS_INTERFACE_LIST

defineReplace(dbus_interface_header_output) {
    return("$$lower($$section($$list($$basename(1)),.,-2,-2))_interface.h")
}

dbus_interface_source.commands = $$QMAKE_QDBUSXML2CPP -i ${QMAKE_FILE_OUT_BASE}.h -p :${QMAKE_FILE_OUT} ${QMAKE_FILE_IN}
dbus_interface_source.output_function = dbus_interface_source_output
dbus_interface_source.name = DBUSXML2CPP INTERFACE SOURCE ${QMAKE_FILE_IN}
dbus_interface_source.variable_out = SOURCES
dbus_interface_source.input = DBUS_INTERFACE_LIST

dbus_interface_moc.commands = $$moc_header.commands
dbus_interface_moc.output = $$moc_header.output
dbus_interface_moc.depends = $$dbus_interface_header.output
dbus_interface_moc.input = DBUS_INTERFACE_HEADERS
dbus_interface_moc.variable_out = GENERATED_SOURCES
dbus_interface_moc.name = $$moc_header.name

defineReplace(dbus_interface_source_output) {
    return("$$lower($$section($$list($$basename(1)),.,-2,-2))_interface.cpp")
}

QMAKE_EXTRA_COMPILERS += dbus_interface_header dbus_interface_source dbus_interface_moc