
#### Qt 4 and 5 ####
if(QT6_BUILD)
  find_package(Qt6 COMPONENTS Core Test REQUIRED)
  set(QT_QTCORE_LIBRARY Qt6::Core)
  set(QT_QTTEST_LIBRARY Qt6::Test)
  set(Qt6_FOUND TRUE)
else()
  find_package(Qt5 COMPONENTS Core Test REQUIRED)
  set(QT_QTCORE_LIBRARY Qt5::Core)
  set(QT_QTTEST_LIBRARY Qt5::Test)
  set(Qt5_FOUND TRUE)
endif()


add_definitions(-DTEST_DATA_PATH="${CMAKE_CURRENT_SOURCE_DIR}")

include_directories( ${CMAKE_CURRENT_SOURCE_DIR}/.. )
include_directories(${CMAKE_CURRENT_BINARY_DIR})

include_directories(${QT_INCLUDES} ${QT_INCLUDE_DIR})
if (NOT APPLE)
    set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wl,--no-undefined" ) 
endif()

if(PHP_BINDINGS)
    add_test(phptest php -d enable_dl=On -d include_path='.:/usr/share/pear:${CMAKE_BINARY_DIR}/src/php' -d extension=${CMAKE_BINARY_DIR}/src/php/kolabformat.so ${CMAKE_SOURCE_DIR}/src/php/test.php --verbose)
endif()

if (Qt6_FOUND OR Qt5_FOUND)
    set(CMAKE_AUTOMOC ON)
    set(CMAKE_INCLUDE_CURRENT_DIR ON)

    message("Building tests")

    add_executable(bindingstest bindingstest.cpp)
    target_link_libraries(bindingstest ${QT_QTTEST_LIBRARY} ${QT_QTCORE_LIBRARY} kolabxml ${XERCES_C})
    add_test(bindingstest ${CMAKE_CURRENT_BINARY_DIR}/bindingstest)

    add_executable(conversiontest conversiontest.cpp)
    target_link_libraries(conversiontest ${QT_QTTEST_LIBRARY} ${QT_QTCORE_LIBRARY} kolabxml ${XERCES_C})
    add_test(conversiontest ${CMAKE_CURRENT_BINARY_DIR}/conversiontest)

    add_executable(parsingtest parsingtest.cpp)
    target_link_libraries(parsingtest ${QT_QTTEST_LIBRARY} ${QT_QTCORE_LIBRARY} kolabxml ${XERCES_C})
    add_test(parsingtest ${CMAKE_CURRENT_BINARY_DIR}/parsingtest)

    add_executable(validationtest validationtest.cpp)
    target_link_libraries(validationtest ${QT_QTTEST_LIBRARY} ${QT_QTCORE_LIBRARY} kolabxml ${XERCES_C})
    add_test(validationtest ${CMAKE_CURRENT_BINARY_DIR}/validationtest)

    add_executable(kolabconversationtest kolabconversationtest.cpp)
    target_link_libraries(kolabconversationtest ${QT_QTTEST_LIBRARY} ${QT_QTCORE_LIBRARY} kolabxml ${XERCES_C})
    add_test(kolabconversationtest ${CMAKE_CURRENT_BINARY_DIR}/kolabconversationtest)
else()
    message(WARNING "Could not build tests because qt is missing")
endif()
