add_subdirectory(crashtest)
add_subdirectory(backtraceparsertest)
if(KF5XmlRpcClient_FOUND)
    add_subdirectory(bugzillalibtest)
endif()

if(NOT APPLE)
    if(NOT RUBY_EXECTUABLE)
        find_program(RUBY_EXECUTABLE ruby)
    endif()
    if(RUBY_EXECUTABLE)
        execute_process(COMMAND ${RUBY_EXECUTABLE} -e "require 'atspi'"
            RESULT_VARIABLE RUBY_ATSPI)
        execute_process(COMMAND ${RUBY_EXECUTABLE} -e "require 'xmlrpc/server'"
            RESULT_VARIABLE RUBY_XMLRPC)
    endif()
    if(NOT GDB_EXECUTABLE)
        # Needed so drkonqi can actually trace something.
        find_program(GDB_EXECUTABLE gdb)
    endif()
    if(NOT XVFB_RUN_EXECTUABLE)
        find_program(XVFB_RUN_EXECTUABLE xvfb-run)
    endif()

    set(ATSPI_PATHS
        /usr/lib/at-spi2-core/ # debians
        /usr/lib/at-spi2/      # suses
    )
    if(NOT ATSPI_BUS_LAUNCHER_EXECUTABLE)
        find_program(ATSPI_BUS_LAUNCHER_EXECUTABLE
            NAMES at-spi-bus-launcher
            PATHS ${ATSPI_PATHS}
            DOC "AT-SPI accessibility dbus launcher")
    endif()
    if(NOT ATSPI_REGISTRYD_EXECUTABLE)
        find_program(ATSPI_REGISTRYD_EXECUTABLE
            NAMES at-spi2-registryd
            PATHS ${ATSPI_PATHS}
            DOC "AT-SPI accessibility registry daemon")
    endif()

    if(RUBY_EXECUTABLE AND XVFB_RUN_EXECTUABLE AND ATSPI_BUS_LAUNCHER_EXECUTABLE
       AND ATSPI_REGISTRYD_EXECUTABLE AND GDB_EXECUTABLE
       AND RUBY_ATSPI EQUAL 0 AND RUBY_XMLRPC EQUAL 0)
        set(WITH_DRKONI_INTEGRATION_TESTING TRUE)
        add_subdirectory(integration)
    endif()
    add_feature_info(DrKonqiIntegrationTesting WITH_DRKONI_INTEGRATION_TESTING
        "Needs Ruby, functional atspi and xmlrpc gems, gdb, as well as xvfb-run.")
endif()
