1 # Steps to generate the dbus interface files
2 # 1) Place the NetworkManager introspection dbus xml in introspection/
3 # 2) Update the list of xml files below that we want to generate interfaces for
4 # 3) Enable dbus subdirectory in ../CMakeLists.txt
5 # Make, in order to generate the interface sources
6 # 3.1) Add annotations to the xml so qdbusxml2cpp knows what type or typedef to use
7 # Add typedefs as needed to generic-types.h
8 # 4) Add the list of generated files needed for the plugin to FILES_TO_BUILD
9 # 6) Copy the working generated interface sources into the source dir
10 # 5) Edit the sources as required to get them to build
11 # 5.1) Fix the inclusion guards as the compiler ignores anything after a '-' so the compiler thinks
12 # headers have already been included
13 # Run do-hand-edits to update the diff of the interfaces vs what is generated; this speeds up regenerating them since you just have to apply the diff to make them compile
16 set( INTERFACE_INTROSPECTION_XML_FILES
17 # introspection/nm-manager-client.xml
18 #introspection/nm-device.xml
19 #introspection/nm-access-point.xml
20 #introspection/nm-device-wifi.xml
21 #introspection/nm-device-ethernet.xml
22 # introspection/nm-exported-connection.xml
23 #introspection/nm-ip4-config.xml
24 # introspection/nm-dhcp4-config.xml
25 # introspection/nm-vpn-connection.xml
26 # introspection/nm-vpn-plugin.xml
27 introspection/nm-device-gsm.xml
28 introspection/nm-device-cdma.xml
29 introspection/nm-device-serial.xml
32 set( ADAPTER_INTROSPECTION_XML_FILES
33 # introspection/nm-settings.xml
36 set_source_files_properties( ${INTERFACE_INTROSPECTION_XML_FILES} ${ADAPTER_INTROSPECTION_XML_FILES} PROPERTIES NO_NAMESPACE TRUE )
46 nm-manager-clientinterface.cpp
47 nm-deviceinterface.cpp
48 nm-access-pointinterface.cpp
49 nm-device-802-3-ethernetinterface.cpp
50 nm-device-802-11-wirelessinterface.cpp
51 nm-ip4-configinterface.cpp
54 set( UNUSED_GENERATED_FILES
55 nm-vpn-connectioninterface.cpp
56 nm-exported-connectioninterface.cpp
57 nm-vpn-managerinterface.cpp
58 nm-vpn-plugininterface.cpp
61 QT4_ADD_DBUS_INTERFACES( FILES_TO_BUILD ${INTERFACE_INTROSPECTION_XML_FILES} )
63 kde4_add_library(networkmanagerdbus ${FILES_TO_BUILD})
65 TARGET_LINK_LIBRARIES(networkmanagerdbus ${QT_QTCORE_LIBRARY} ${QT_QTDBUS_LIBRARY})