#################################################
#
#  (C) 2011 Timothy Pearson
#  kb9vqf (AT) pearsoncomputing.net
#
#  Improvements and feedback are welcome
#
#  This file is released under GPL >= 2
#
#################################################

include_directories(
  ${TQT_INCLUDE_DIRS}
  ${TDE_INCLUDE_DIR}
  ${CMAKE_BINARY_DIR}
  ${CMAKE_BINARY_DIR}/src
  ${CMAKE_SOURCE_DIR}/src
  ${CMAKE_SOURCE_DIR}/src/settings
  ${CMAKE_SOURCE_DIR}/src/svnqt
  ${CMAKE_BINARY_DIR}/src/svnqt
  ${CMAKE_SOURCE_DIR}/src/svnfrontend/graphtree
  ${CMAKE_SOURCE_DIR}/src/svnfrontend/fronthelpers
  ${CMAKE_SOURCE_DIR}/src/ksvnwidgets
  ${CMAKE_SOURCE_DIR}/src/helpers
  ${CMAKE_SOURCE_DIR}/src/svnfrontend
  ${CMAKE_SOURCE_DIR}/src/svnqt/cache
  ${SUBVERSION_INCLUDE_DIR}
  ${APR_INCLUDE_DIRS}
)

link_directories(
  ${TQT_LIBRARY_DIRS}
  ${CMAKE_BINARY_DIR}/src
)


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

INSTALL(FILES tdesvnui.rc DESTINATION ${DATA_INSTALL_DIR}/tdesvn)
INSTALL(FILES tdesvn_part.rc DESTINATION ${DATA_INSTALL_DIR}/tdesvnpart)
INSTALL(FILES tdesvn.desktop DESTINATION ${XDG_APPS_INSTALL_DIR})


##### tdesvnaskpass #############################

tde_add_executable( tdesvnaskpass AUTOMOC
  SOURCES askpass/tdesvn-askpass.cpp
  LINK tdecore-shared tdeui-shared
  DESTINATION ${BIN_INSTALL_DIR}
)


##### tdesvn #####################################

tde_add_executable( tdesvn AUTOMOC
  SOURCES main.cpp tdesvn.cpp urldlg.cpp commandline.cpp
  LINK tdecore-shared tdeui-shared tdeparts-shared DCOP-shared tdeio-shared
  DESTINATION ${BIN_INSTALL_DIR}
)


##### tdesvnevents ###############################

set( target tdesvnevents )

tde_add_library( tdesvnevents SHARED AUTOMOC
  SOURCES tdesvn_events.cpp tdesvn_events.h
  LINK tdecore-shared svnqt
  DESTINATION ${LIB_INSTALL_DIR}
)


##### tdesvnpart #################################

set( target tdesvnpart )

set( ${target}_SRCS
  tdesvn_part.cpp settings/tdesvnsettings.kcfgc
  settings/dispcolor_settings.ui settings/display_settings.ui settings/revisiontree_settings.ui
  settings/subversion_settings.ui settings/cmdexecsettings.ui
  settings/diffmergesettings.ui
  tdesvnview.cpp commandline_part.cpp
)

tde_add_kpart( ${target} AUTOMOC
  SOURCES ${${target}_SRCS}
  LINK tdecore-shared tdeio-shared tdeparts-shared tdeui-shared svnqt tdesvnhelpers-shared tdesvnevents-shared tdesvncfgreader-shared ksvnwidgets-shared svnfrontend-shared
  DESTINATION ${PLUGIN_INSTALL_DIR}
)


##### kded_tdesvnd ##############################

tde_add_kpart( kded_tdesvnd AUTOMOC
  SOURCES tdesvnd/tdesvnd_dcop.cpp tdesvnd/tdesvnd_dcop.skel tdesvnd/tdesvnd_dcop.h
  LINK svnqt ksvnwidgets-shared tdesvnhelpers-shared tdesvnevents-shared tdesvncfgreader-shared tdecore-shared tdeui-shared DCOP-shared tdeio-shared tdeinit_kded-shared
  DESTINATION ${PLUGIN_INSTALL_DIR}
)


##### svnfrontend ###############################

tde_add_library( svnfrontend SHARED AUTOMOC
  SOURCES svnfrontend/ccontextlistener.cpp
    svnfrontend/commandexec.cpp
    svnfrontend/copymoveview_impl.cpp
    svnfrontend/createrepo_impl.cpp
    svnfrontend/dummydisplay.cpp
    svnfrontend/dumprepo_impl.cpp
    svnfrontend/editproperty_impl.cpp
    svnfrontend/filelistviewitem.cpp
    svnfrontend/fronthelpers/checkoutinfo_impl.cpp
    svnfrontend/fronthelpers/checkoutinfo_impl.h
    svnfrontend/fronthelpers/rangeinput_impl.cpp
    svnfrontend/fronthelpers/rangeinput_impl.h
    svnfrontend/fronthelpers/revisionbuttonimpl.cpp
    svnfrontend/fronthelpers/revisionbuttonimpl.h
    svnfrontend/fronthelpers/cursorstack.h
    svnfrontend/fronthelpers/widgetblockstack.cpp
    svnfrontend/fronthelpers/widgetblockstack.h
    svnfrontend/fronthelpers/propertylist.cpp
    svnfrontend/fronthelpers/propertylist.h
    svnfrontend/fronthelpers/propertyitem.cpp
    svnfrontend/fronthelpers/propertyitem.h
    svnfrontend/graphtree/drawparams.cpp
    svnfrontend/graphtree/drawparams.h
    svnfrontend/graphtree/elogentry.cpp
    svnfrontend/graphtree/elogentry.h
    svnfrontend/graphtree/graphtreelabel.cpp
    svnfrontend/graphtree/graphtreelabel.h
    svnfrontend/graphtree/pannerview.cpp
    svnfrontend/graphtree/pannerview.h
    svnfrontend/graphtree/revgraphview.cpp
    svnfrontend/graphtree/revgraphview.h
    svnfrontend/graphtree/revisiontree.cpp
    svnfrontend/graphtree/revisiontree.h
    svnfrontend/graphtree/revtreewidget.cpp
    svnfrontend/graphtree/revtreewidget.h
    svnfrontend/hotcopydlg_impl.cpp
    svnfrontend/importdir_logmsg.cpp
    svnfrontend/itemdisplay.cpp
    svnfrontend/tdesvnfilelist.cpp
    svnfrontend/keystatus.cpp
    svnfrontend/loaddmpdlg_impl.cpp
    svnfrontend/mergedlg_impl.cpp
    svnfrontend/modifiedthread.cpp
    svnfrontend/opencontextmenu.cpp
    svnfrontend/propertiesdlg.cpp
    svnfrontend/stopdlg.cpp
    svnfrontend/svnactions.cpp
    svnfrontend/svnfiletip.cpp
    svnfrontend/svnitem.cpp
    svnfrontend/svnlogdlgimp.cpp
    svnfrontend/tcontextlistener.cpp
    svnfrontend/blamedisplay_impl.cpp
    svnfrontend/threadcontextlistenerdata.cpp
    svnfrontend/fillcachethread.cpp
    svnfrontend/fillcachethread.h
    svnfrontend/copymoveview.ui
    svnfrontend/createrepo_dlg.ui
    svnfrontend/dumprepo_dlg.ui
    svnfrontend/editpropsdlg.ui
    svnfrontend/fronthelpers/checkoutinfo.ui
    svnfrontend/fronthelpers/rangeinput.ui
    svnfrontend/fronthelpers/revisionbutton.ui
    svnfrontend/hotcopydlg.ui
    svnfrontend/loaddmpdlg.ui
    svnfrontend/merge_dlg.ui
    svnfrontend/blamedisplay.ui
    svnfrontend/svnlogdlg.ui
    commandline.cpp
    commandline_part.cpp
    tdesvnview.cpp
    tdesvn_part.cpp
  LINK svnqt tdecore-shared tdesvnhelpers-shared tdesvnevents-shared tdesvncfgreader-shared tdeui-shared ksvnwidgets-shared tdeio-shared tdeparts-shared
  DESTINATION ${LIB_INSTALL_DIR}
)


##### ksvnwidgets ###############################

tde_add_library( ksvnwidgets SHARED AUTOMOC
  SOURCES ksvnwidgets/authdialogimpl.cpp ksvnwidgets/logmsg_impl.cpp
    ksvnwidgets/ssltrustprompt_impl.cpp ksvnwidgets/pwstorage.cpp
    ksvnwidgets/diffbrowser.cpp ksvnwidgets/diffbrowserdata.cpp
    ksvnwidgets/diffsyntax.cpp ksvnwidgets/encodingselector_impl.cpp
    ksvnwidgets/depthselector.cpp ksvnwidgets/revertform_impl.cpp
    ksvnwidgets/logmessage.ui ksvnwidgets/ssltrustprompt.ui ksvnwidgets/authdlg.ui
    ksvnwidgets/encodingselector.ui ksvnwidgets/depthform.ui ksvnwidgets/revertform.ui
  LINK tdesvnhelpers-shared tdesvncfgreader-shared svnqt tdecore-shared tdeui-shared tdeio-shared
  DESTINATION ${LIB_INSTALL_DIR}
)


##### tdeio_ksvn ##################################

tde_add_kpart( tdeio_ksvn AUTOMOC
  SOURCES tdeiosvn/tdeiosvn.cpp tdeiosvn/tdeiolistener.cpp tdeiosvn/tdeiobytestream.cpp ksvnwidgets/pwstorage.cpp
  LINK svnqt tdesvnhelpers-shared tdesvnevents-shared tdesvncfgreader-shared tdecore-shared tdeui-shared DCOP-shared tdeio-shared
  DESTINATION ${PLUGIN_INSTALL_DIR}
)


##### tdesvnhelpers ##############################

tde_add_library( tdesvnhelpers SHARED AUTOMOC
  SOURCES helpers/ktranslateurl.cpp helpers/sshagent.cpp helpers/sub2qt.cpp
  LINK tdecore-shared svnqt
  DESTINATION ${LIB_INSTALL_DIR}
)


##### tdesvncfgreader ###########################

tde_add_library( tdesvncfgreader SHARED AUTOMOC
  SOURCES settings/dispcolor_settings.ui
    settings/display_settings.ui settings/revisiontree_settings.ui
    settings/subversion_settings.ui settings/cmdexecsettings.ui
    settings/diffmergesettings.ui settings/dispcolorsettings_impl.cpp
    settings/displaysettings_impl.cpp settings/revisiontreesettingsdlg_impl.cpp
    settings/subversionsettings_impl.cpp settings/cmdexecsettings_impl.cpp
    settings/diffmergesettings_impl.cpp settings/tdesvnsettings.kcfgc
  LINK tdecore-shared tdeui-shared
  DESTINATION ${LIB_INSTALL_DIR}
)

add_subdirectory( svnqt )
add_subdirectory( ksvnwidgets )
add_subdirectory( settings )
add_subdirectory( svnfrontend )
add_subdirectory( helpers )
add_subdirectory( tdesvnd )
add_subdirectory( tdeiosvn )
add_subdirectory( pics )
add_subdirectory( icons )
