
project(ksirc)

set(libksticker_SRCS 
	${CMAKE_SOURCE_DIR}/ksirc/KSTicker/ksticker.cpp 
	${CMAKE_SOURCE_DIR}/ksirc/KSTicker/speeddialog.cpp 
	${CMAKE_SOURCE_DIR}/ksirc/KSTicker/speeddialogData.cpp 
	${CMAKE_SOURCE_DIR}/ksirc/KSTicker/kspainter.cpp
	)

set(libksprogress_SRCS 
	${CMAKE_SOURCE_DIR}/ksirc/KSProgress/ksprogress.cpp 
	${CMAKE_SOURCE_DIR}/ksirc/KSProgress/ksprogressdata.cpp
	)

set(libksprefs_SRCS
	${CMAKE_SOURCE_DIR}/ksirc/KSPrefs/ksprefs.cpp 
	${CMAKE_SOURCE_DIR}/ksirc/KSPrefs/page_colors.cpp 
	${CMAKE_SOURCE_DIR}/ksirc/KSPrefs/page_general.cpp 
	${CMAKE_SOURCE_DIR}/ksirc/KSPrefs/page_rmbmenu.cpp
	${CMAKE_SOURCE_DIR}/ksirc/KSPrefs/page_servchan.cpp 
	${CMAKE_SOURCE_DIR}/ksirc/KSPrefs/page_startup.cpp 
	${CMAKE_SOURCE_DIR}/ksirc/KSPrefs/page_font.cpp 
	${CMAKE_SOURCE_DIR}/ksirc/KSPrefs/page_autoconnect.cpp 
	${CMAKE_SOURCE_DIR}/ksirc/KSPrefs/page_irccolors.cpp 
	${CMAKE_SOURCE_DIR}/ksirc/KSPrefs/page_looknfeel.cpp 
	${CMAKE_SOURCE_DIR}/ksirc/KSPrefs/page_shortcuts.cpp
)
kde4_add_ui3_files(libksprefs_SRCS
    ${CMAKE_SOURCE_DIR}/ksirc/KSPrefs/page_colorsbase.ui
    ${CMAKE_SOURCE_DIR}/ksirc/KSPrefs/page_generalbase.ui
    ${CMAKE_SOURCE_DIR}/ksirc/KSPrefs/page_rmbmenubase.ui
    ${CMAKE_SOURCE_DIR}/ksirc/KSPrefs/page_servchanbase.ui
    ${CMAKE_SOURCE_DIR}/ksirc/KSPrefs/page_startupbase.ui
    ${CMAKE_SOURCE_DIR}/ksirc/KSPrefs/page_autoconnectbase.ui
    ${CMAKE_SOURCE_DIR}/ksirc/KSPrefs/page_irccolorsbase.ui
    ${CMAKE_SOURCE_DIR}/ksirc/KSPrefs/page_looknfeelbase.ui
    ${CMAKE_SOURCE_DIR}/ksirc/KSPrefs/page_shortcutsbase.ui
)


add_subdirectory( KSTicker ) 
add_subdirectory( KSProgress ) 
add_subdirectory( KSPrefs ) 
add_subdirectory( KSOpenkSirc ) 
add_subdirectory( img ) 
add_subdirectory( icons ) 

configure_file (config-ksirc.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config-ksirc.h )

include_directories( ${CMAKE_SOURCE_DIR}/ksirc/KSTicker/ ${CMAKE_SOURCE_DIR}/ksirc/KSOpenkSirc/  )
set(libksopenksirc_SRCS 
	${CMAKE_SOURCE_DIR}/ksirc/KSOpenkSirc/open_ksirc.cpp
	${CMAKE_SOURCE_DIR}/ksirc/KSOpenkSirc/serverFileParser.cpp
	${CMAKE_SOURCE_DIR}/ksirc/KSOpenkSirc/enter_combo.cpp
	)

kde4_add_ui3_files(libksopenksirc_SRCS ${CMAKE_SOURCE_DIR}/ksirc/KSOpenkSirc/open_ksircData.ui )




########### next target ###############

set(testview_SRCS ${CMAKE_CURRENT_BINARY_DIR}/dummy.cpp )

kde4_automoc(${testview_SRCS})

file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/dummy.cpp "//autogenerated file by cmake\n")
if(KDE4_BUILD_TESTS)

kde4_add_executable(testview ${testview_SRCS})

target_link_libraries(testview  ${KDE4_KDECORE_LIBS} )

endif(KDE4_BUILD_TESTS)

########### next target ###############

set(dccMgrTest_SRCS dccMgrTest.cpp )

kde4_automoc(${dccMgrTest_SRCS})

if(KDE4_BUILD_TESTS)

kde4_add_executable(dccMgrTest ${dccMgrTest_SRCS})

target_link_libraries(dccMgrTest  ${KDE4_KDEUI_LIBS} )

endif(KDE4_BUILD_TESTS)

########### next target ###############

set(ksirc_KDEINIT_SRCS ${libksopenksirc_SRCS} ${libksticker_SRCS} ${libksprefs_SRCS} ${libksprogress_SRCS}
   toplevel.cpp 
   charSelector.cpp 
   chanButtons.cpp 
   ksirc.cpp 
   alistbox.cpp 
   ahistlineedit.cpp 
   iocontroller.cpp 
   NewWindowDialog.cpp 
   messageReceiver.cpp 
   ioBroadcast.cpp 
   ksircprocess.cpp 
   servercontroller.cpp 
   FilterRuleEditor.cpp 
   ioDiscard.cpp 
   ioDCC.cpp 
   ioLAG.cpp 
   ioNotify.cpp 
   ssfeprompt.cpp 
   ssfepromptdata.cpp 
   usercontrolmenu.cpp 
   baserules.cpp 
   chanparser.cpp 
   objFinder.cpp 
   displayMgrSDI.cpp 
   displayMgrMDI.cpp 
   mditoplevel.cpp 
   ksopts.cpp 
   topic.cpp 
   ksview.cpp 
   logfile.cpp 
   colorpicker.cpp 
   ksparser.cpp 
   dccManager.cpp 
   dccToplevel.cpp 
   dockservercontroller.cpp 
   nickColourMaker.cpp 
   dccNew.cpp )

kde4_automoc(${ksirc_KDEINIT_SRCS})

kde4_add_ui3_files(ksirc_KDEINIT_SRCS FilterRuleWidget.ui dccManagerbase.ui dccNewbase.ui )

kde4_add_kdeinit_executable( ksirc ${ksirc_KDEINIT_SRCS})

target_link_libraries(kdeinit_ksirc  ${KDE4_KIO_LIBS} knotifyconfig )

install(TARGETS kdeinit_ksirc  DESTINATION ${LIB_INSTALL_DIR})

target_link_libraries( ksirc kdeinit_ksirc )
install(TARGETS ksirc  DESTINATION ${BIN_INSTALL_DIR} )

########### next target ###############

set(getdate_SRCS getdate.c )

kde4_automoc(${getdate_SRCS})

kde4_add_executable(getdate ${getdate_SRCS})

target_link_libraries(getdate  ${KDE4_KDECORE_LIBS} )


########### install files ###############

install( FILES ksirc.desktop  DESTINATION ${XDG_APPS_DIR})
install( FILES ksirc.pl filters.pl autodcc.pl sirc.help.gz relnotes ksirc.notifyrc  DESTINATION ${DATA_INSTALL_DIR}/ksirc)
install( FILES ksircrc  DESTINATION ${CONFIG_INSTALL_DIR})
install( PROGRAMS dsirc  DESTINATION ${BIN_INSTALL_DIR} )




#original Makefile.am contents follow:

#
#KDE_CXXFLAGS = $(USE_RTTI) $(USE_EXCEPTIONS)# -UQT_NO_ASCII_CAST
#
## set the include path for X, qt and KDE
#INCLUDES= -IKSOpenkSirc -I$(srcdir)/KSOpenkSirc -IKSPrefs $(all_includes)
#
## claim, which subdirectories you want to install
#SUBDIRS = KSTicker KSProgress KSPrefs KSOpenkSirc img icons
#
#METASOURCES = AUTO
#
#check_PROGRAMS = testview dccMgrTest
#
#dccMgrTest_SOURCES = dccMgrTest.cpp
#dccMgrTest_LDADD = dccManager.lo dccManagerbase.lo $(LIB_KDEUI)
#dccMgrTest_LDFLAGS = $(all_libraries) $(KDE_RPATH)
#
#bin_PROGRAMS =
#lib_LTLIBRARIES =
#kdeinit_LTLIBRARIES = ksirc.la
#
#noinst_PROGRAMS = getdate
#
## Which sources should be compiled for ksirc.
#
#ksirc_la_SOURCES = \
#	toplevel.cpp \
#	charSelector.cpp \
#	chanButtons.cpp \
#	ksirc.cpp \
#	alistbox.cpp \
#	ahistlineedit.cpp \
#	iocontroller.cpp \
#	NewWindowDialog.cpp \
#	messageReceiver.cpp \
#	ioBroadcast.cpp \
#	ksircprocess.cpp \
#	servercontroller.cpp \
#	FilterRuleWidget.ui FilterRuleEditor.cpp \
#	ioDiscard.cpp \
#	ioDCC.cpp \
#	ioLAG.cpp \
#	ioNotify.cpp \
#	ssfeprompt.cpp ssfepromptdata.cpp \
#	usercontrolmenu.cpp \
#	baserules.cpp \
#	chanparser.cpp \
#	objFinder.cpp \
#	displayMgrSDI.cpp \
#	displayMgrMDI.cpp \
#	mditoplevel.cpp \
#	ksopts.cpp \
#	topic.cpp \
#	ksview.cpp \
#	logfile.cpp \
#        colorpicker.cpp \
#        ksparser.cpp \
#        dccManagerbase.ui \
#        dccManager.cpp \
#        dccToplevel.cpp \
#        dockservercontroller.cpp \
#        nickColourMaker.cpp \
#        dccNewbase.ui \
#        dccNew.cpp
#
## the library search path
#ksirc_la_LDFLAGS = $(all_libraries) -module -avoid-version
#ksirc_la_COMPILE_FIRST = cdate.h
#
#all_ksirc_libraries = \
#	./KSPrefs/libksprefs.la \
#	./KSProgress/libksprogress.la  \
#	./KSOpenkSirc/libksopenksirc.la \
#        ./KSTicker/libksticker.la \
#	$(LIB_KIO) $(LIBDL) 
#
## the libraries to link against. Be aware of the order. First the libraries,
## that depend on the following ones.
#ksirc_la_LIBADD   = $(all_ksirc_libraries)
#
#kdoc:
#	kdoc -ddoc ksirc *.h
#
#getdate_SOURCES = getdate.c
#
#cdate.h: getdate
#	./getdate > cdate.h
#
## this option you can leave out. Just, if you use "make dist", you need it
##
## DSIRC is on the bottom so make dist includes it!!!!!!!!!
##
#noinst_HEADERS = \
#	FilterRuleEditor.h \
#	control_message.h \
#	FilterRuleWidget.h \
#	messageReceiver.h \
#	ioBroadcast.h \
#	ioDCC.h \
#	usercontrolmenu.h \
#	ioDiscard.h \
#	ahistlineedit.h \
#	iocontroller.h \
#	servercontroller.h \
#	alistbox.h \
#	chanparser.h \
#	toplevel.h \
#	ksircprocess.h \
#	cdate.h \
#	ioLAG.h \
#	ioNotify.h \
#	ssfeprompt.h \
#	ssfepromptdata.h \
#	objFinder.h \
#	baserules.h \
#	displayMgr.h \
#	displayMgrSDI.h \
#	NewWindowDialog.h \
#    ksopts.h \
#	ksview.h \
#	boundscheckingarray.h \
#	ksparser.h \
#	dccManager.h \
#        dccToplevel.h \
#        dockservercontroller.h \
#        dccNew.h
#
#messages: rc.cpp
#	$(EXTRACTRC) KSOpenkSirc/*.ui >> rc.cpp
#	$(EXTRACTRC) KSPrefs/*.ui >> rc.cpp
#	$(XGETTEXT) *.cpp */*.cpp -o $(podir)/ksirc.pot
#
#bin_SCRIPTS = dsirc
#
#xdg_apps_DATA = ksirc.desktop
#
#misc_DATA = ksirc.pl filters.pl autodcc.pl sirc.help.gz relnotes eventsrc
#miscdir = $(kde_datadir)/ksirc
#
#conf_DATA = ksircrc
#confdir = $(kde_confdir)
