cmake_minimum_required(VERSION 3.20)
project(Wr64RTMaterialTests LANGUAGES CXX)
enable_testing()
get_filename_component(WR64_ROOT "../.." ABSOLUTE BASE_DIR "${CMAKE_CURRENT_LIST_DIR}")
add_executable(wr64_rt_material_test material_test.cpp)
add_executable(wr64_rt_material_archive_test archive_material_test.cpp)
foreach(target wr64_rt_material_test wr64_rt_material_archive_test)
    target_compile_features(${target} PRIVATE cxx_std_20)
    target_include_directories(${target} PRIVATE "${WR64_ROOT}/lib/rt64/src")
    if(MSVC)
        target_compile_options(${target} PRIVATE /W4)
    else()
        target_compile_options(${target} PRIVATE -Wall -Wextra -Wpedantic)
    endif()
endforeach()
add_test(NAME rt_material_coverage_classification COMMAND wr64_rt_material_test)
set(WR64_MATERIAL_ARCHIVE_RAM "" CACHE FILEPATH "Optional original Sunny capture-20260728-034653/rdram.bin")
set(WR64_MATERIAL_ARCHIVE_EVENTS "" CACHE FILEPATH "Optional matching events.bin; never copied into tests")
if(WR64_MATERIAL_ARCHIVE_RAM AND WR64_MATERIAL_ARCHIVE_EVENTS)
    add_test(NAME rt_material_native_archive COMMAND wr64_rt_material_archive_test
        "${WR64_MATERIAL_ARCHIVE_RAM}" "${WR64_MATERIAL_ARCHIVE_EVENTS}")
endif()
