################################################# # # (C) 2010 Serghei Amelian # serghei (DOT) amelian (AT) gmail.com # # Improvements and feedback are welcome # # This file is released under GPL >= 2 # ################################################# include_directories( ${CMAKE_CURRENT_BINARY_DIR} ${TQT_INCLUDE_DIRS} ${DBUS_TQT_INCLUDE_DIRS} ) ##### knm_dbus (static) ######################### set( INTROSPECTIONPATH "${CMAKE_SOURCE_DIR}/knetworkmanager-0.8/introspection" ) # options: # p - generate proxy files # i - generate interface files # n - generate node files function( add_dbus_xml option basename classname namespace xmlfile ) if( classname ) set( classname -c ${classname} ) endif( ) add_custom_command( OUTPUT ${basename}.cpp ${basename}.h COMMAND ${DBUSXML2QT3_EXECUTABLE} -${option} ${basename} ${classname} -N ${namespace} ${INTROSPECTIONPATH}/${xmlfile} 2>/dev/null DEPENDS ${INTROSPECTIONPATH}/${xmlfile} ) if( "${option}" STREQUAL "p" ) add_custom_command( OUTPUT ${basename}.moc COMMAND ${TMOC_EXECUTABLE} ${basename}.h -o ${basename}.moc DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/${basename}.h ) set_property( SOURCE ${CMAKE_CURRENT_BINARY_DIR}/${basename}.cpp APPEND PROPERTY OBJECT_DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/${basename}.moc ) endif( ) endfunction( ) add_dbus_xml( p networkmanagerproxy NetworkManagerProxy DBus nm-manager.xml ) add_dbus_xml( p networkmanagervpnproxy NetworkManagerVPNProxy DBus nm-vpn-manager.xml ) add_dbus_xml( p deviceproxy DeviceProxy DBus nm-device.xml ) add_dbus_xml( p wirelessproxy WirelessDeviceProxy DBus nm-device-802-11-wireless.xml ) add_dbus_xml( p wiredproxy WiredDeviceProxy DBus nm-device-802-3-ethernet.xml ) add_dbus_xml( p gsmproxy GSMDeviceProxy DBus nm-device-gsm.xml ) add_dbus_xml( p cdmaproxy CDMADeviceProxy DBus nm-device-cdma.xml ) add_dbus_xml( p accesspointproxy AccessPointProxy DBus nm-access-point.xml ) add_dbus_xml( p activeconnectionproxy ActiveConnectionProxy DBus nm-active-connection.xml ) add_dbus_xml( p vpnconnectionproxy VPNConnectionProxy DBus nm-vpn-connection-only.xml ) add_dbus_xml( p vpnpluginproxy VPNPluginProxy DBus nm-vpn-plugin.xml ) add_dbus_xml( i networkmanagersettings SettingsInterface DBus nm-settings.xml ) add_custom_command( OUTPUT connection.cpp connection.h connectionnode.cpp connectionnode.h introspectableInterface.cpp introspectableInterface.h COMMAND ${DBUSXML2QT3_EXECUTABLE} -i connection -n connectionnode -c ConnectionNode -N DBus ${INTROSPECTIONPATH}/nm-exported-connection.xml 2>/dev/null DEPENDS ${INTROSPECTIONPATH}/nm-exported-connection.xml ) # build the library tde_add_library( knm_dbus STATIC_PIC SOURCES networkmanagerproxy.cpp networkmanagervpnproxy.cpp deviceproxy.cpp wiredproxy.cpp wirelessproxy.cpp accesspointproxy.cpp networkmanagersettings.cpp connection.cpp connectionnode.cpp introspectableInterface.cpp activeconnectionproxy.cpp vpnconnectionproxy.cpp vpnpluginproxy.cpp gsmproxy.cpp cdmaproxy.cpp )