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>
This commit is contained in:
parent
5566254948
commit
ff0a759f8d
@ -1,41 +1,4 @@
|
||||
qtPrepareTool(QMAKE_QDBUSXML2CPP, qdbusxml2cpp)
|
||||
dbus_type = adaptor
|
||||
qdbusxml2cpp_option = -a
|
||||
|
||||
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
|
||||
include(dbuscommon.pri)
|
||||
|
57
mkspecs/features/dbuscommon.pri
Normal file
57
mkspecs/features/dbuscommon.pri
Normal file
@ -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
|
@ -1,42 +1,4 @@
|
||||
load(moc)
|
||||
dbus_type = interface
|
||||
qdbusxml2cpp_option = -p
|
||||
|
||||
qtPrepareTool(QMAKE_QDBUSXML2CPP, 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
|
||||
include(dbuscommon.pri)
|
||||
|
Loading…
Reference in New Issue
Block a user