You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
89 lines
3.6 KiB
89 lines
3.6 KiB
#################################################
|
|
#
|
|
# (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} )
|
|
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_dbus_xml( i connection "" DBus nm-exported-connection.xml )
|
|
|
|
add_custom_command( OUTPUT connectionnode.cpp connectionnode.h introspectableinterface.cpp introspectableinterface.h
|
|
COMMAND ${DBUSXML2QT3_EXECUTABLE} -n connectionnode -c ConnectionNode -N DBus ${INTROSPECTIONPATH}/nm-exported-connection.xml 2>/dev/null
|
|
COMMAND sed s/\#include\\ \\"secrets.h\\"// connectionnode.cpp > connectionnode.cpp_tmp
|
|
COMMAND sed s/\#include\\ \\"introspectable.h\\"/\#include\\ \\"introspectableinterface.h\\"/ connectionnode.cpp_tmp > connectionnode.cpp
|
|
COMMAND rm -f connectionnode.cpp_tmp
|
|
DEPENDS ${INTROSPECTIONPATH}/nm-exported-connection.xml )
|
|
|
|
|
|
# generate moc files
|
|
|
|
set( MOCHEADERS accesspointproxy.h deviceproxy.h networkmanagerproxy.h networkmanagervpnproxy.h wiredproxy.h
|
|
wirelessproxy.h activeconnectionproxy.h vpnconnectionproxy.h vpnpluginproxy.h gsmproxy.h cdmaproxy.h )
|
|
|
|
foreach( _header_file ${MOCHEADERS} )
|
|
get_filename_component( _basename "${_header_file}" NAME_WE )
|
|
set( _moc_file ${_basename}.moc )
|
|
list( APPEND _moc_files ${_moc_file} )
|
|
add_custom_command( OUTPUT ${_moc_file}
|
|
COMMAND ${TMOC_EXECUTABLE} ${_header_file} -o ${_moc_file}
|
|
DEPENDS ${_header_file} )
|
|
endforeach( )
|
|
|
|
add_custom_command( OUTPUT mocfiles.cpp
|
|
COMMAND cat ${_moc_files} > mocfiles.cpp
|
|
DEPENDS ${_moc_files} )
|
|
|
|
|
|
# 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
|
|
mocfiles.cpp activeconnectionproxy.cpp vpnconnectionproxy.cpp
|
|
vpnpluginproxy.cpp gsmproxy.cpp cdmaproxy.cpp
|
|
)
|