
# Test apps should be in the bin dir so that add_test can locate them
set(EXECUTABLE_OUTPUT_PATH ${CMAKE_CURRENT_BINARY_DIR} )

include_directories(
	${CMAKE_SOURCE_DIR}/kcal
	${CMAKE_BINARY_DIR}/kcal/libical/src
	
)


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

if(KDE4_BUILD_TESTS)
set(loadcalendar_SRCS loadcalendar.cpp )

kde4_automoc(${loadcalendar_SRCS})


kde4_add_executable(loadcalendar ${loadcalendar_SRCS})

target_link_libraries(loadcalendar  ${KDE4_KDECORE_LIBS} kcal )

endif(KDE4_BUILD_TESTS)

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

if(KDE4_BUILD_TESTS)
set(testtostring_SRCS testtostring.cpp )

kde4_automoc(${testtostring_SRCS})


kde4_add_executable(testtostring ${testtostring_SRCS})

target_link_libraries(testtostring  ${KDE4_KDECORE_LIBS} kcal )

endif(KDE4_BUILD_TESTS)

########### next target ###############
if(KDE4_BUILD_TESTS)
set(testincidence_SRCS testincidence.cpp )

kde4_automoc(${testincidence_SRCS})


kde4_add_executable(testincidence ${testincidence_SRCS})

target_link_libraries(testincidence  ${KDE4_KDECORE_LIBS} kcal )

endif(KDE4_BUILD_TESTS)

########### next target ###############
if(KDE4_BUILD_TESTS)
set(testcalendar_SRCS testcalendar.cpp )

kde4_automoc(${testcalendar_SRCS})


kde4_add_executable(testcalendar ${testcalendar_SRCS})

target_link_libraries(testcalendar  ${KDE4_KDECORE_LIBS} kcal )

endif(KDE4_BUILD_TESTS)

########### next target ###############
if(KDE4_BUILD_TESTS)
set(readandwrite_SRCS readandwrite.cpp )

kde4_automoc(${readandwrite_SRCS})


kde4_add_executable(readandwrite ${readandwrite_SRCS})

target_link_libraries(readandwrite  ${KDE4_KDECORE_LIBS} kcal )

endif(KDE4_BUILD_TESTS)

########### next target ###############
if(KDE4_BUILD_TESTS)
set(testresource_SRCS testresource.cpp )

kde4_automoc(${testresource_SRCS})


kde4_add_executable(testresource ${testresource_SRCS})

target_link_libraries(testresource  ${KDE4_KDECORE_LIBS} kcal )

endif(KDE4_BUILD_TESTS)

########### next target ###############
if(KDE4_BUILD_TESTS)
set(testfields_SRCS testfields.cpp )
set_source_files_properties( ${testfields_SRCS} PROPERTIES 
	COMPILE_FLAGS -DINPUT='"$(srcdir)/data/test_pilot.ics"' )
kde4_automoc(${testfields_SRCS})


kde4_add_executable(testfields ${testfields_SRCS})

target_link_libraries(testfields  ${KDE4_KDECORE_LIBS} kcal )

endif(KDE4_BUILD_TESTS)

########### next target ###############
if(KDE4_BUILD_TESTS)
set(testrecurrence_SRCS testrecurrence.cpp )

kde4_automoc(${testrecurrence_SRCS})


kde4_add_executable(testrecurrence RUN_UNINSTALLED ${testrecurrence_SRCS})

target_link_libraries(testrecurrence  ${KDE4_KDECORE_LIBS} kcal )

endif(KDE4_BUILD_TESTS)

########### next target ###############
if(KDE4_BUILD_TESTS)
set(testrecurprevious_SRCS testrecurprevious.cpp )

kde4_automoc(${testrecurprevious_SRCS})


kde4_add_executable(testrecurprevious RUN_UNINSTALLED ${testrecurprevious_SRCS})

target_link_libraries(testrecurprevious  ${KDE4_KDECORE_LIBS} kcal )

endif(KDE4_BUILD_TESTS)

########### next target ###############
if(KDE4_BUILD_TESTS)
set(testrecurson_SRCS testrecurson.cpp )

kde4_automoc(${testrecurson_SRCS})


kde4_add_executable(testrecurson RUN_UNINSTALLED ${testrecurson_SRCS})

target_link_libraries(testrecurson  ${KDE4_KDECORE_LIBS} kcal )

endif(KDE4_BUILD_TESTS)

########### next target ###############
if(KDE4_BUILD_TESTS)
set(testrecurrencetype_SRCS testrecurrencetype.cpp )

kde4_automoc(${testrecurrencetype_SRCS})


kde4_add_executable(testrecurrencetype RUN_UNINSTALLED ${testrecurrencetype_SRCS})

target_link_libraries(testrecurrencetype  ${KDE4_KDECORE_LIBS} kcal )

endif(KDE4_BUILD_TESTS)

########### next target ###############
if(KDE4_BUILD_TESTS)
set(testicaltimezones_SRCS testicaltimezones.cpp )

kde4_automoc(${testicaltimezones_SRCS})


kde4_add_executable(testicaltimezones RUN_UNINSTALLED ${testicaltimezones_SRCS})

target_link_libraries(testicaltimezones  ${KDE4_KDECORE_LIBS} kcal ${QT_QTTEST_LIBRARY})

add_test(libkcal-testicaltimezones ${EXECUTABLE_OUTPUT_PATH}/testicaltimezones)

endif(KDE4_BUILD_TESTS)

########### next target ###############
if(KDE4_BUILD_TESTS)
set(testvcalexport_SRCS testvcalexport.cpp )

kde4_automoc(${testvcalexport_SRCS})


kde4_add_executable(testvcalexport RUN_UNINSTALLED ${testvcalexport_SRCS})

target_link_libraries(testvcalexport  ${KDE4_KDECORE_LIBS} kcal )

endif(KDE4_BUILD_TESTS)

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

########### Tests #######################

if(KDE4_BUILD_TESTS)

FILE( GLOB_RECURSE testFiles       data/RecurrenceRule/*.ics )
FILE( GLOB_RECURSE compatFiles     data/Compat/*.ics )
FILE( GLOB_RECURSE vCalFilesAsIcal data/vCalendar/*.ics )
FILE( GLOB_RECURSE vCalFiles       data/vCalendar/*.vcs )

FOREACH( file ${testFiles} )
  GET_FILENAME_COMPONENT( fn ${file} NAME)
  ADD_TEST( RecurNext-${fn} ${CMAKE_CURRENT_SOURCE_DIR}/runsingletestcase.pl ${EXECUTABLE_OUTPUT_PATH}/testrecurrence "next" ${file} )
ENDFOREACH(file)

FOREACH( file ${testFiles} )
  GET_FILENAME_COMPONENT( fn ${file} NAME)
  ADD_TEST( RecurPrev-${fn} ${CMAKE_CURRENT_SOURCE_DIR}/runsingletestcase.pl ${EXECUTABLE_OUTPUT_PATH}/testrecurprevious "prev" ${file} )
ENDFOREACH(file)

FOREACH( file ${testFiles} )
  GET_FILENAME_COMPONENT( fn ${file} NAME)
  ADD_TEST( RecursOn-${fn} ${CMAKE_CURRENT_SOURCE_DIR}/runsingletestcase.pl ${EXECUTABLE_OUTPUT_PATH}/testrecurson "recurson" ${file} )
ENDFOREACH(file)

FOREACH( file ${compatFiles} )
  GET_FILENAME_COMPONENT( fn ${file} NAME)
  ADD_TEST( Compat-${fn} ${CMAKE_CURRENT_SOURCE_DIR}/runsingletestcase.pl ${EXECUTABLE_OUTPUT_PATH}/readandwrite "ical" ${file} )
ENDFOREACH(file)

FOREACH( file ${vCalFilesAsIcal} )
  GET_FILENAME_COMPONENT( fn ${file} NAME)
  ADD_TEST( VCalOut-${fn} ${CMAKE_CURRENT_SOURCE_DIR}/runsingletestcase.pl ${EXECUTABLE_OUTPUT_PATH}/textvcalexport "vcal" ${file} )
ENDFOREACH(file)

FOREACH( file ${vCalFiles} )
  GET_FILENAME_COMPONENT( fn ${file} NAME)
  ADD_TEST( VCalIn-${fn} ${CMAKE_CURRENT_SOURCE_DIR}/runsingletestcase.pl ${EXECUTABLE_OUTPUT_PATH}/readandwrite "ical" ${file} )
ENDFOREACH(file)

# ADD_TEST( TestRecurrence  runtestcase.pl testrecurrence    "next" ${CMAKE_CURRENT_SOURCE_DIR} data/RecurrenceRule/ "*.ics" )
# ADD_TEST( TestRecPrevious runtestcase.pl testrecurprevious "prev" ${CMAKE_CURRENT_SOURCE_DIR} data/RecurrenceRule/ "*.ics" )
# ADD_TEST( TestRecursOn    runtestcase.pl testrecurson  "recurson" ${CMAKE_CURRENT_SOURCE_DIR} data/RecurrenceRule/ "*.ics" )
# ADD_TEST( TestCompat      runtestcase.pl readandwrite      "ical" ${CMAKE_CURRENT_SOURCE_DIR} data/Compat/         "*.ics" )
# ADD_TEST( TestVCal        runtestcase.pl testvcalexport    "vcal" ${CMAKE_CURRENT_SOURCE_DIR} data/vCalendar/      "*.ics" )
# ADD_TEST( TestFromVCal    runtestcase.pl readandwrite      "ical" ${CMAKE_CURRENT_SOURCE_DIR} data/vCalendar/      "*.vcs" )

endif(KDE4_BUILD_TESTS)





#original Makefile.am contents follow:

#INCLUDES = -I$(top_srcdir)/libkcal -I$(top_builddir)/libkcal/libical/src \
#	-Iqttestlib $(all_includes)
#
#
#check_PROGRAMS = loadcalendar \
#                 testtostring \
#                 testincidence \
#                 testcalendar \
#                 readandwrite \
#                 testresource \
#                 testfields \
#                 testrecurrence \
#                 testrecurprevious \
#                 testrecurson \
#                 testrecurrencetype \
#		 testicaltimezones \
#                 testvcalexport
#
#
#METASOURCES = AUTO
#
#loadcalendar_SOURCES = loadcalendar.cpp
#loadcalendar_LDFLAGS = $(all_libraries) $(KDE_RPATH)
#loadcalendar_LDADD = ../libkcal.la
#
#testincidence_SOURCES = testincidence.cpp
#testincidence_LDFLAGS = $(all_libraries) $(KDE_RPATH)
#testincidence_LDADD = ../libkcal.la
#
#testcalendar_SOURCES = testcalendar.cpp
#testcalendar_LDFLAGS = $(all_libraries) $(KDE_RPATH)
#testcalendar_LDADD = ../libkcal.la
#
#testtostring_SOURCES = testtostring.cpp
#testtostring_LDFLAGS = $(all_libraries) $(KDE_RPATH)
#testtostring_LDADD = ../libkcal.la
#
#readandwrite_SOURCES = readandwrite.cpp
#readandwrite_LDFLAGS = $(all_libraries) $(KDE_RPATH)
#readandwrite_LDADD = ../libkcal.la
#
#testresource_SOURCES = testresource.cpp
#testresource_LDFLAGS = $(all_libraries) $(KDE_RPATH)
#testresource_LDADD = ../libkcal.la
#
#testrecurrence_SOURCES = testrecurrence.cpp
#testrecurrence_LDFLAGS = $(all_libraries) $(KDE_RPATH)
#testrecurrence_LDADD = ../libkcal.la
#
#testrecurprevious_SOURCES = testrecurprevious.cpp
#testrecurprevious_LDFLAGS = $(all_libraries) $(KDE_RPATH)
#testrecurprevious_LDADD = ../libkcal.la
#
#testrecurson_SOURCES = testrecurson.cpp
#testrecurson_LDFLAGS = $(all_libraries) $(KDE_RPATH)
#testrecurson_LDADD = ../libkcal.la
#
#testrecurrencetype_SOURCES = testrecurrencetype.cpp
#testrecurrencetype_LDFLAGS = $(all_libraries) $(KDE_RPATH)
#testrecurrencetype_LDADD = ../libkcal.la
#
#testicaltimezones_SOURCES = testicaltimezones.cpp
#testicaltimezones_LDFLAGS = $(all_libraries) $(KDE_RPATH)
#testicaltimezones_LDADD = ../libkcal.la -lQtTest_debug
#
#testvcalexport_SOURCES = testvcalexport.cpp
#testvcalexport_LDFLAGS = $(all_libraries) $(KDE_RPATH)
#testvcalexport_LDADD = ../libkcal.la
#
#testfields_SOURCES = testfields.cpp
#testfields_LDFLAGS = $(all_libraries) $(KDE_RPATH)
#testfields_LDADD   = ../libkcal.la
#testfields_CXXFLAGS= -DINPUT='"$(srcdir)/data/test_pilot.ics"'
#
#TESTFILES = test1.ics test2.ics test3.ics test4.ics test5.ics test_Mozilla.ics
#
#check-local: readandwrite testrecurrence testrecurprevious testrecurson testvcalexport testicaltimezones
#	rm -f FAILED; \
#	for i in `find $(srcdir)/data/RecurrenceRule/ -name "*.ics"`; do \
#	  perl $(srcdir)/runtestcase.pl testrecurrence "next" $$i; \
#	done; \
#	for i in `find $(srcdir)/data/RecurrenceRule/ -name "*.ics"`; do \
#	  perl $(srcdir)/runtestcase.pl testrecurprevious "prev" $$i; \
#	done; \
#	for i in `find $(srcdir)/data/RecurrenceRule/ -name "*.ics"`; do \
#	  perl $(srcdir)/runtestcase.pl testrecurson "recurson" $$i; \
#	done; \
#	for i in `find $(srcdir)/data/Compat/ -name "*.ics"`; do \
#	  perl $(srcdir)/runtestcase.pl readandwrite "ical" $$i; \
#	done; \
#	for i in `find $(srcdir)/data/vCalendar/ -name "*.ics"`; do \
#		perl $(srcdir)/runtestcase.pl testvcalexport "vcal" $$i; \
#	done;
#	for i in `find $(srcdir)/data/vCalendar/ -name "*.vcs"`; do \
#		perl $(srcdir)/runtestcase.pl readandwrite "ical" $$i; \
#	done;
#	[ ! -e FAILED ]
#
