cmake_minimum_required(VERSION 3.16)

# Simple unit test executable that compiles acutest.c directly
add_executable(unit_tests
    unit_tests.cpp
    ${CMAKE_SOURCE_DIR}/src/HotReload.cpp
    ${CMAKE_SOURCE_DIR}/src/ScriptEngine.cpp
    ${CMAKE_SOURCE_DIR}/src/ScriptBindings.cpp
    ${CMAKE_SOURCE_DIR}/src/log/log.c
)

target_include_directories(unit_tests PRIVATE
    ${CMAKE_SOURCE_DIR}/external/acutest/include
    ${CMAKE_SOURCE_DIR}/include
    ${CMAKE_SOURCE_DIR}/src/log
    ${CMAKE_SOURCE_DIR}/external/angelscript/sdk/angelscript/include
    ${CMAKE_SOURCE_DIR}/external/angelscript/sdk/add_on/scriptstdstring
    ${CMAKE_SOURCE_DIR}/external/angelscript/sdk/add_on/scriptbuilder
    ${CMAKE_SOURCE_DIR}/external/raylib/src
)

# Link AngelScript and its add-ons needed by ScriptEngine
target_link_libraries(unit_tests PRIVATE
    angelscript
    scriptstdstring
    scriptbuilder
    raylib
)

add_test(NAME unit_tests COMMAND unit_tests)