
function(add_test_executable name)
    add_executable(${name} ${name}.cpp)
    target_link_libraries(${name} PRIVATE threepp Catch2::Catch2WithMain)
    target_include_directories(${name} PRIVATE "${PROJECT_SOURCE_DIR}/src")
    add_test(NAME ${name} COMMAND ${name})
    target_compile_definitions(${name} PRIVATE DATA_FOLDER="${THREEPP_DATA_DIR}")
endfunction()

add_subdirectory(animation)
add_subdirectory(cameras)
add_subdirectory(controls)
add_subdirectory(core)
add_subdirectory(geometries)
add_subdirectory(materials)
add_subdirectory(math)
add_subdirectory(objects)
add_subdirectory(splats)
add_subdirectory(utils)
add_subdirectory(renderers)
add_subdirectory(loaders)
add_subdirectory(extras)
