FIND_PROGRAM(DBUS_BINDING_TOOL dbus-binding-tool)
IF(DBUS_BINDING_TOOL-NOTFOUND)
	MESSAGE(FATAL_ERROR "Could not find dbus-binding-tool!")
ENDIF(DBUS_BINDING_TOOL-NOTFOUND)

ADD_CUSTOM_COMMAND(OUTPUT dbus-server-bindings.h
                   COMMAND ${DBUS_BINDING_TOOL} --prefix=server --mode=glib-server --output=dbus-server-bindings.h ${PROJECT_SOURCE_DIR}/src/dbus/dbus-interface.xml
                   DEPENDS dbus-interface.xml
                   COMMENT "Executing dbus-binding-tool: Generating dbus-server-bindings.h"
                   VERBATIM)
ADD_CUSTOM_COMMAND(OUTPUT dbus-client-bindings.h
                   COMMAND ${DBUS_BINDING_TOOL} --prefix=server --mode=glib-client --output=dbus-client-bindings.h ${PROJECT_SOURCE_DIR}/src/dbus/dbus-interface.xml
                   DEPENDS dbus-interface.xml
                   COMMENT "Executing dbus-binding-tool: Generating dbus-client-bindings.h"
                   VERBATIM)

ADD_CUSTOM_TARGET(dbus-bindings ALL
                  DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/dbus-server-bindings.h
                          ${CMAKE_CURRENT_BINARY_DIR}/dbus-client-bindings.h)


INCLUDE_DIRECTORIES(${GLIB2_INCLUDE_DIRS} ${DBUS_INCLUDE_DIRS}
                    ${GTHREAD2_INCLUDE_DIRS}
                    ${CMAKE_CURRENT_BINARY_DIR})
ADD_LIBRARY(desktopnova-dbus STATIC dbus-server.c)
