aboutsummaryrefslogtreecommitdiff
path: root/modules/QtDBusMacros.cmake
diff options
context:
space:
mode:
authorVolker Krause <vkrause@kde.org>2006-05-31 12:52:30 +0000
committerVolker Krause <vkrause@kde.org>2006-05-31 12:52:30 +0000
commit117cb4d48ba9c4618c3bf71f7cb8799e1b189d34 (patch)
tree84f461f6c0603e3abfd72b952b9124853aedd5b1 /modules/QtDBusMacros.cmake
parentd9f94a32176bb09c5397ca12033c555929ad1acf (diff)
downloadextra-cmake-modules-117cb4d48ba9c4618c3bf71f7cb8799e1b189d34.tar.gz
extra-cmake-modules-117cb4d48ba9c4618c3bf71f7cb8799e1b189d34.tar.bz2
Add macro to generate QDBus interfaces from XML descriptions.
svn path=/trunk/KDE/kdelibs/; revision=546931
Diffstat (limited to 'modules/QtDBusMacros.cmake')
-rw-r--r--modules/QtDBusMacros.cmake22
1 files changed, 22 insertions, 0 deletions
diff --git a/modules/QtDBusMacros.cmake b/modules/QtDBusMacros.cmake
new file mode 100644
index 00000000..5ee785db
--- /dev/null
+++ b/modules/QtDBusMacros.cmake
@@ -0,0 +1,22 @@
+#
+# QtDBus macros, documentation see FindQtDBus.cmake
+#
+
+macro(qdbus_add_interfaces _sources)
+ foreach (_i ${ARGN})
+ get_filename_component(_xml_file ${_i} ABSOLUTE)
+ get_filename_component(_basename ${_i} NAME_WE)
+ set(_target_base ${CMAKE_CURRENT_BINARY_DIR}/${_basename})
+
+ add_custom_command(OUTPUT ${_target_base}.cpp ${_target_base}.h
+ COMMAND ${QDBUS_IDL2CPP_EXECUTABLE}
+ ARGS -m -p ${_basename} ${_xml_file}
+ DEPENDS ${_xml_file}
+ )
+
+ qt4_generate_moc(${_target_base}.h ${_target_base}.moc)
+ macro_add_file_dependencies(${_target_base}.h ${_target_base}.moc )
+
+ set(${_sources} ${${_sources}} ${_target_base}.cpp)
+ endforeach (_i ${ARGN})
+endmacro(qdbus_add_interfaces)