cmake_minimum_required(VERSION 3.25)
project(radio_station_checks LANGUAGES CXX)
enable_testing()
foreach(tu 0 4)
  add_executable(radio_station_${tu} radio_station_test.cpp ../../src/hooks/radio_station.cpp)
  target_include_directories(radio_station_${tu} PRIVATE stubs ../../src)
  target_compile_features(radio_station_${tu} PRIVATE cxx_std_20)
  target_compile_definitions(radio_station_${tu} PRIVATE FORZA_TITLE_UPDATE=${tu} _CRT_SECURE_NO_WARNINGS)
  if(MSVC)
    target_compile_options(radio_station_${tu} PRIVATE /W4 /WX /UNDEBUG)
  else()
    target_compile_options(radio_station_${tu} PRIVATE -Wall -Wextra -Werror -UNDEBUG)
  endif()
  foreach(mode game fast instant invalid)
    add_test(NAME radio_${tu}_${mode} COMMAND radio_station_${tu} ${mode})
  endforeach()
endforeach()
