cmake_minimum_required(VERSION 3.16)

# Unit tests just need test sources + link to simian_core
add_executable(unit_tests
    test.cpp
    hot_reload.cpp
    script_engine_tests.cpp
    math_bindings_tests.cpp
)

target_include_directories(unit_tests PRIVATE
    ${CMAKE_SOURCE_DIR}/tests
    ${CMAKE_SOURCE_DIR}/include
    ${CMAKE_SOURCE_DIR}/external/acutest
)

# Link the shared simian_core library - that's it!
target_link_libraries(unit_tests PRIVATE simian_core)

# Platform-specific linking for tests too
if(WIN32)
    target_link_libraries(unit_tests PRIVATE winmm gdi32)
endif()

add_test(NAME unit_tests COMMAND unit_tests)
add_test(NAME hotreload_dir COMMAND unit_tests hotreload_dir)
add_test(NAME script_compile COMMAND unit_tests script_compile)
add_test(NAME script_include COMMAND unit_tests script_include)
add_test(NAME math_bindings COMMAND unit_tests math_bindings)