add_library(munit STATIC
    "${PROJECT_SOURCE_DIR}/third_party/munit/munit.c"
)

target_include_directories(munit
    PUBLIC
        ${PROJECT_SOURCE_DIR}/third_party
)

file(GLOB TEST_SOURCES CONFIGURE_DEPENDS
    "${CMAKE_CURRENT_SOURCE_DIR}/suites/*.c"
)

add_library(dangerzone_tests STATIC
    ${TEST_SOURCES}
)

target_include_directories(dangerzone_tests
    PUBLIC
        ${PROJECT_SOURCE_DIR}/include
        ${PROJECT_SOURCE_DIR}/src
        ${PROJECT_SOURCE_DIR}/third_party
)

add_executable(test_runner 
    main.c
)

target_link_libraries(test_runner 
    PRIVATE
        dangerzone_tests
        munit
        dangerzone_engine
)

add_custom_target(test
    COMMAND tests/test_runner
    DEPENDS test_runner
    WORKING_DIRECTORY ${PROJECT_BINARY_DIR}
)