cmake_minimum_required(VERSION 3.20)
project(mm3_input_contract C)
if(NOT WIN32)
    message(FATAL_ERROR "This input contract exercises the Windows keyboard/XInput backend.")
endif()
set(CMAKE_C_STANDARD 11)
add_executable(mm3_input_contract ../mm3_input_contract.c)
target_include_directories(mm3_input_contract PRIVATE ../../tools/xboxrecomp/src)
target_compile_definitions(mm3_input_contract PRIVATE WIN32_LEAN_AND_MEAN NOMINMAX)
target_link_libraries(mm3_input_contract PRIVATE user32 xinput)
enable_testing()
add_test(NAME mm3_keyboard COMMAND mm3_input_contract mm3)
add_test(NAME legacy_keyboard COMMAND mm3_input_contract legacy)
add_test(NAME mm3_keyboard_case COMMAND mm3_input_contract MM3)
add_test(NAME native_mouse_press COMMAND mm3_input_contract mouse)
