#################################################
#
#  (C) 2010 Serghei Amelian
#  serghei (DOT) amelian (AT) gmail.com
#
#  Improvements and feedback are welcome
#
#  This file is released under GPL >= 2
#
#################################################

add_subdirectory( dbus )

add_definitions( -UTQT_NO_ASCII_CAST )

include_directories(
  ${CMAKE_CURRENT_BINARY_DIR}
  ${CMAKE_BINARY_DIR}
  ${TDE_INCLUDE_DIR}
  ${TQT_INCLUDE_DIRS}
  ${DBUS_TQT_INCLUDE_DIRS}
  ${NM_UTIL_INCLUDE_DIRS}
)

link_directories(
  ${TQT_LIBRARY_DIRS}
)


##### headers ###################################

install( FILES
    knetworkmanager-plugin.h knetworkmanager-vpnplugin.h
  DESTINATION ${INCLUDE_INSTALL_DIR} )


##### other data ################################

install( FILES knetworkmanager.desktop DESTINATION ${XDG_APPS_INSTALL_DIR} )
install( FILES eventsrc DESTINATION ${DATA_INSTALL_DIR}/knetworkmanager )
install( FILES knetworkmanager_plugin.desktop knetworkmanager_vpnplugin.desktop DESTINATION ${SERVICETYPES_INSTALL_DIR} )


##### knetworkmanager (tdeinit) #################

tde_add_tdeinit_executable( knetworkmanager AUTOMOC
  SOURCES
    connection_setting_info.ui connection_setting_wireless_security_wep.ui connection_setting_gsm.ui
    connection_setting_cdma.ui connection_setting_ipv4.ui connection_setting_ppp.ui
    connection_setting_serial.ui connection_setting_wireless_security_wpacipher.ui
    connection_setting_wireless_security_eap.ui connection_setting_wireless_security_wpapsk.ui
    connection_setting_wireless_security_phase2.ui connection_setting_wireless_security_wpaversion.ui
    connection_setting_wireless_security.ui connection_setting_wireless.ui
    connection_setting_wireless_security_wepencryption.ui connection_settings.ui
    connection_setting_wireless_security_auth.ui connection_setting_vpn.ui connection_editor.ui
    vpnauthentication.ui main.cpp knetworkmanager.cpp knetworkmanager-tray.cpp
    knetworkmanager-hal_device_proxy.cpp knetworkmanager-nm_proxy.cpp knetworkmanager-device.cpp
    knetworkmanager-cdma_device.cpp knetworkmanager-cellular_device.cpp knetworkmanager-gsm_device.cpp
    knetworkmanager-wired_device.cpp knetworkmanager-vpn_device.cpp knetworkmanager-vpn_plugin.cpp
    knetworkmanager-wireless_device.cpp knetworkmanager-devicestore.cpp
    knetworkmanager-cellular_device_tray.cpp knetworkmanager-device_tray.cpp
    knetworkmanager-wired_device_tray.cpp knetworkmanager-wireless_device_tray.cpp
    knetworkmanager-accesspoint.cpp knetworkmanager-wireless_menuitem.cpp knetworkmanager-menuitem.cpp
    knetworkmanager-menu_subhead.cpp knetworkmanager-connection_setting.cpp
    knetworkmanager-connection_setting_info.cpp knetworkmanager-connection_setting_ipv4.cpp
    knetworkmanager-connection_setting_wired.cpp knetworkmanager-connection_setting_wireless.cpp
    knetworkmanager-connection_setting_wireless_security.cpp
    knetworkmanager-connection_setting_8021x.cpp knetworkmanager-connection_setting_vpn.cpp
    knetworkmanager-connection_setting_serial.cpp knetworkmanager-connection_setting_cdma.cpp
    knetworkmanager-connection_setting_gsm.cpp knetworkmanager-connection_setting_ppp.cpp
    knetworkmanager-connection_dbus.cpp knetworkmanager-connection_secrets_dbus.cpp
    knetworkmanager-connection.cpp knetworkmanager-generic_connection.cpp
    knetworkmanager-cdma_connection.cpp knetworkmanager-gsm_connection.cpp
    knetworkmanager-ppp_connection.cpp knetworkmanager-wireless_connection.cpp
    knetworkmanager-wired_connection.cpp knetworkmanager-vpn_connection.cpp
    knetworkmanager-connection_store.cpp knetworkmanager-connection_setting_cdma_widget.cpp
    knetworkmanager-connection_setting_gsm_widget.cpp
    knetworkmanager-connection_setting_info_widget.cpp
    knetworkmanager-connection_setting_ipv4_widget.cpp
    knetworkmanager-connection_setting_ppp_widget.cpp
    knetworkmanager-connection_setting_serial_widget.cpp
    knetworkmanager-connection_setting_wireless_security_widget.cpp
    knetworkmanager-connection_setting_wireless_widget.cpp
    knetworkmanager-connection_setting_vpn_widget.cpp knetworkmanager-connection_settings_dialog.cpp
    knetworkmanager-connection_setting_widget_interface.cpp knetworkmanager-nmsettings.cpp
    sha1.cpp md5.cpp xmlmarshaller.cpp knetworkmanager-storage.cpp
    knetworkmanager-wireless_network.cpp knetworkmanager-wireless_manager.cpp
    knetworkmanager-connection_editor.cpp knetworkmanager-plugin.cpp knetworkmanager-vpnplugin.cpp
    knetworkmanager-pluginmanager.cpp knetworkmanager-vpnservice.cpp knetworkmanager-vpnmanager.cpp
    knetworkmanager-vpnauthenticationdialog.cpp devicetraycomponent.cpp traycomponent.cpp
    vpn_tray_component.cpp secret_storage_plugin.cpp
  LINK knm_dbus-static tdeui-shared tdeutils-shared ${DBUS_TQT_LIBRARIES}
)
