cmake_minimum_required(VERSION 3.25)
project(native_menu_model_checks LANGUAGES CXX)
add_executable(menu_model_test ../menu_model_test.cpp)
add_executable(native_quit_flow_test ../native_quit_flow_test.cpp)
add_executable(native_pause_assets_test ../native_pause_assets_test.cpp)
add_executable(social_presence_test ../social_presence_test.cpp)
target_include_directories(native_pause_assets_test PRIVATE ../../src)
foreach(target menu_model_test native_quit_flow_test native_pause_assets_test social_presence_test)
    target_compile_features(${target} PRIVATE cxx_std_20)
    if(MSVC)
        target_compile_options(${target} PRIVATE /W4 /WX /UNDEBUG)
    else()
        target_compile_options(${target} PRIVATE -Wall -Wextra -Werror -UNDEBUG)
    endif()
endforeach()
enable_testing()
add_test(NAME native_menu_model COMMAND menu_model_test)
add_test(NAME native_quit_flow COMMAND native_quit_flow_test)
add_test(NAME social_presence COMMAND social_presence_test)
foreach(case complete missing_each absent empty empty_member encrypted truncated
             invalid_directory directory_bounds unsupported_layout comments
             case_method21 unrelated_entries)
    add_test(NAME native_pause_assets_${case} COMMAND native_pause_assets_test ${case})
endforeach()
