cmake_minimum_required(VERSION 3.19)

project(raytracing_test)

CPMAddPackage("gh:catchorg/Catch2@3.5.3")

enable_testing()

set(CMAKE_CXX_STANDARD 20)
set(CMAKE_CXX_STANDARD_REQUIRED ON)

add_executable(raytracing_test 
    main_test.cpp

    00_common_data.cpp
    01_tuples.cpp
    02_1_colors.cpp
    02_2_canvas.cpp
    03_matrix.cpp
    04_transformations.cpp
    05_rays.cpp
    06_light_shading.cpp
    07_making_scene.cpp
    08_shadows.cpp
    09_planes.cpp
    10_patterns.cpp
    11_reflection_refraction.cpp
    12_cubes.cpp
    13_cylinders.cpp
    14_groups.cpp
)

include_directories("${CMAKE_SOURCE_DIR}/tests")

target_link_libraries(raytracing_test PRIVATE raytracing Catch2WithMain OpenMP::OpenMP_CXX)

add_test(NAME raytracing_test COMMAND tests/raytracing_test)
