#################################################
#
#  (C) 2012 Golubev Alexander
#  fatzer2 (AT) gmail.com
#
#  Improvements and feedback are welcome
#
#  This file is released under GPL >= 2
#
#################################################

add_subdirectory( graphics )

include_directories(
  ${CMAKE_BINARY_DIR}
  ${CMAKE_CURRENT_BINARY_DIR}
  ${CMAKE_CURRENT_SOURCE_DIR}
  ${TDE_INCLUDE_DIR}
  ${TQT_INCLUDE_DIRS}
)

link_directories(
  ${TQT_LIBRARY_DIRS}
)


##### kweatherreport (tdeinit) ##################

tde_add_tdeinit_executable( kweatherreport AUTOMOC
  SOURCES reportmain.cpp weatherservice.stub
    reportview.cpp
  LINK tdeui-shared tdehtml-shared
)


##### kweatherservice (executable) ##############

tde_add_executable( kweatherservice AUTOMOC
  SOURCES main.cpp weather_icon.cpp metar_parser.cpp
    weatherlib.cpp weatherservice.cpp
    weatherservice.skel stationdatabase.cpp
    sun.cpp weatherservice.stub
  LINK tdeio-shared
  DESTINATION ${BIN_INSTALL_DIR}
)


##### generate stations.dat and weather_stations.desktop

if( NOT PERL_EXECUTABLE )
  include( FindPerl )
endif( )

add_custom_command(
    OUTPUT stations.dat weather_stations.desktop
    COMMAND ${PERL_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/genstations.pl
        ${CMAKE_CURRENT_SOURCE_DIR}/data/nsd_cccc.txt
        ${CMAKE_CURRENT_SOURCE_DIR}/data/station_names.txt
        ${CMAKE_CURRENT_SOURCE_DIR}/weather_stations.desktop.in
    DEPENDS
        ${CMAKE_CURRENT_SOURCE_DIR}/genstations.pl
        ${CMAKE_CURRENT_SOURCE_DIR}/data/nsd_cccc.txt
        ${CMAKE_CURRENT_SOURCE_DIR}/data/station_names.txt
        ${CMAKE_CURRENT_SOURCE_DIR}/weather_stations.desktop.in
    WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
)


##### sun_test (test) ###########################
# FIXME: add correct test targets support
# 
# tde_add_executable( sun_test AUTOMOC
#   SOURCES sun_test.cpp sun.cpp
# )
# 
# add_test( NAME sun_test-test
#   COMMAND sun_test)
# 
# 
##### stationdatabase_test (test) ###############
# 
# tde_add_executable( stationdatabase_test AUTOMOC
#   SOURCES stationdatabase_test.cpp
#     stationdatabase.cpp
# )
# 
# add_test( NAME stationdatabase_test-test
#   COMMAND stationdatabase_test)
# 
# 
##### metar_parser_test (test) ##################
# 
# tde_add_executable( metar_parser_test AUTOMOC
#   SOURCES metar_parser_test.cpp metar_parser.cpp
#     weather_icon.cpp stationdatabase.cpp sun.cpp
# )
# 
# add_test( NAME metar_parser_test-test
#   COMMAND metar_parser_test)
# 

##### weather_panelapplet (kpart) ###############

tde_add_kpart( weather_panelapplet AUTOMOC
  SOURCES reportview.cpp kweather.cpp
    dockwidget.cpp weatherIface.skel
    weatherservice.stub weatherbutton.cpp
  LINK tdehtml-shared
  DESTINATION ${PLUGIN_INSTALL_DIR}
)


##### kcm_weatherapplet (kpart) #################

tde_add_kpart( kcm_weatherapplet AUTOMOC
  SOURCES kcmweatherapplet.cpp appletconfig.ui
    weatherservice.stub
  LINK tdeio-shared
  DESTINATION ${PLUGIN_INSTALL_DIR}
)

##### kcm_weatherservice (kpart) #################

tde_add_kpart( kcm_weatherservice AUTOMOC
  SOURCES kcmweatherservice.cpp serviceconfig.ui
    weatherservice.stub
  LINK tdeio-shared
  DESTINATION ${PLUGIN_INSTALL_DIR}
)

##### kcm_weatherstations (kpart) ################

tde_add_kpart( kcm_weatherstations AUTOMOC
  SOURCES kcmweatherstations.cpp
    stationsconfigwidget.cpp stationsconfig.ui
    weatherservice.stub
  LINK tdeui-shared tdehtml-shared
  DESTINATION ${PLUGIN_INSTALL_DIR}
)

##### weather_sidebar (kpart) ####################
if( BUILD_KONQ_KWEATHER )
  tde_import( konqueror )
  tde_add_kpart( weather_sidebar AUTOMOC
    SOURCES sidebarwidget.cpp dockwidget.cpp
      weatherbar.cpp weatherbar.skel
      weatherbutton.cpp weatherservice.stub
    LINK tdeio-shared konqsidebarplugin-shared tdeutils-shared
    DESTINATION ${PLUGIN_INSTALL_DIR}
  )
endif( )


##### icons #####################################

tde_install_icons( kweather )


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

tde_create_translated_desktop(
  SOURCE ${CMAKE_CURRENT_BINARY_DIR}/weather_stations.desktop
  KEYWORDS name
  DESTINATION ${DATA_INSTALL_DIR}/kweatherservice
  PO_DIR kweather-stations
)

install(
  FILES ${CMAKE_CURRENT_BINARY_DIR}/stations.dat
  DESTINATION ${DATA_INSTALL_DIR}/kweatherservice
)

tde_create_translated_desktop(
  SOURCE kweather.desktop
  DESTINATION ${DATA_INSTALL_DIR}/kicker/applets
  PO_DIR kweather-desktops
)

tde_create_translated_desktop(
  SOURCE
    kweatherservice.desktop
    kcmweatherapplet.desktop
    kcmweatherservice.desktop
    kcmweatherstations.desktop
  DESTINATION ${SERVICES_INSTALL_DIR}
  PO_DIR kweather-desktops
)

if( BUILD_KONQ_KWEATHER )
  tde_create_translated_desktop(
    SOURCE weatherbar.desktop
    DESTINATION ${DATA_INSTALL_DIR}/konqsidebartng/entries
    PO_DIR kweather-desktops
  )

  tde_create_translated_desktop(
    SOURCE weatherbar_add.desktop
    DESTINATION ${DATA_INSTALL_DIR}/konqsidebartng/add
    PO_DIR kweather-desktops
  )
endif( )
