cmake_minimum_required(VERSION 3.16)
project(ScreenCalibrationTest LANGUAGES CXX)
enable_testing()
set(REPO_ROOT "${CMAKE_CURRENT_SOURCE_DIR}/../..")
foreach(profile IN ITEMS default sticky x4_pro)
  if(profile STREQUAL "default")
    set(target screen_calibration)
  else()
    set(target screen_calibration_${profile})
  endif()
  add_executable(${target} ScreenCalibrationTest.cpp ${REPO_ROOT}/lib/ScreenCalibration/HalScreenCalibration.cpp)
  target_include_directories(${target} PRIVATE stubs ${REPO_ROOT}/lib/ScreenCalibration)
  target_compile_features(${target} PRIVATE cxx_std_17)
  target_compile_options(${target} PRIVATE -Wall -Wextra -pedantic -UNDEBUG)
  if(profile STREQUAL "sticky")
    target_compile_definitions(${target} PRIVATE FREEINK_DEVICE_STICKY=1)
  elseif(profile STREQUAL "x4_pro")
    target_compile_definitions(${target} PRIVATE FREEINK_DEVICE_X4PRO=1)
  endif()
  add_test(NAME ${target} COMMAND ${target})
endforeach()
