From 1e805f6153cd53bee27b4017e19a90dc26e3f949 Mon Sep 17 00:00:00 2001 From: Volker Krause Date: Wed, 31 May 2006 13:31:48 +0000 Subject: Add macros to generate adaptor code from XML and XML from a header file. svn path=/trunk/KDE/kdelibs/; revision=546939 --- modules/QtDBusMacros.cmake | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) (limited to 'modules/QtDBusMacros.cmake') diff --git a/modules/QtDBusMacros.cmake b/modules/QtDBusMacros.cmake index 5ee785db..a6e4221f 100644 --- a/modules/QtDBusMacros.cmake +++ b/modules/QtDBusMacros.cmake @@ -20,3 +20,34 @@ macro(qdbus_add_interfaces _sources) set(${_sources} ${${_sources}} ${_target_base}.cpp) endforeach (_i ${ARGN}) endmacro(qdbus_add_interfaces) + +macro(qdbus_generate_interface _header) + get_filename_component(_in_file ${_header} ABSOLUTE) + get_filename_component(_basename ${_header} NAME_WE) + set(_target ${CMAKE_CURRENT_BINARY_DIR}/${_basename}.xml) + + add_custom_command(OUTPUT ${_target} + COMMAND ${QDBUS_CPP2XML_EXECUTABLE} + ARGS ${_in_file} > ${_target} + DEPENDS ${_in_file} + ) +endmacro(qdbus_generate_interface) + +macro(qdbus_add_adaptor _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}adaptor) + + add_custom_command(OUTPUT ${_target_base}.cpp ${_target_base}.h + COMMAND ${QDBUS_IDL2CPP_EXECUTABLE} + ARGS -m -a ${_basename}adaptor ${_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_adaptor) -- cgit v1.2.1