summaryrefslogtreecommitdiffstats
path: root/knetworkmanager-0.8/src/dbus/CMakeLists.txt
blob: d18014626840273396f19ff70c899dc8081dd294 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
#################################################
#
#  (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
)