cmake_minimum_required(VERSION 3.21)
project(ReusableFrameGeneration LANGUAGES CXX)
enable_testing()
add_executable(LoReusableFgCoreTest core_test.cpp)
target_compile_features(LoReusableFgCoreTest PRIVATE cxx_std_20)
target_include_directories(LoReusableFgCoreTest PRIVATE "${CMAKE_CURRENT_LIST_DIR}/../../..")
if(MSVC)
  target_compile_options(LoReusableFgCoreTest PRIVATE /W4 /WX)
else()
  target_compile_options(LoReusableFgCoreTest PRIVATE -Wall -Wextra -Werror -pedantic)
endif()
add_test(NAME reusable_fg_core COMMAND LoReusableFgCoreTest)
if(WIN32 AND (FRAMEGEN_WITH_DLSS OR FRAMEGEN_WITH_FSR OR FRAMEGEN_WITH_XESS))
  add_subdirectory("${CMAKE_CURRENT_LIST_DIR}/../../../shared/frame_generation" framegen)
  add_executable(LoFgD3D12LinkTest d3d12_link_test.cpp)
  target_link_libraries(LoFgD3D12LinkTest PRIVATE framegen_d3d12)
  add_test(NAME reusable_fg_d3d12_link COMMAND LoFgD3D12LinkTest)
endif()
