cmake_minimum_required(VERSION 3.20)
project(RageStageImageContract LANGUAGES C)
enable_testing()
set(CMAKE_C_STANDARD 17)
set(CMAKE_C_STANDARD_REQUIRED ON)
set(CMAKE_C_EXTENSIONS OFF)
get_filename_component(ROOT "${CMAKE_CURRENT_LIST_DIR}/../.." ABSOLUTE)
add_executable(rage-stage-image-check "${ROOT}/tools/rage_stage_image_check.c")
add_executable(stage_image_check_tests "${ROOT}/tests/render/stage_image_check_tests.c")
add_executable(mirror_image_check "${ROOT}/tests/render/mirror_image_check.c")
add_executable(mirror_image_check_tests "${ROOT}/tests/render/mirror_image_check_tests.c")
foreach(target rage-stage-image-check stage_image_check_tests mirror_image_check mirror_image_check_tests)
    if(MSVC)
        target_compile_options(${target} PRIVATE /W4 /WX)
        target_compile_definitions(${target} PRIVATE _CRT_SECURE_NO_WARNINGS)
    else()
        target_compile_options(${target} PRIVATE -Wall -Wextra -Werror)
    endif()
endforeach()
add_test(NAME stage_image_check COMMAND stage_image_check_tests)
add_test(NAME mirror_image_check COMMAND mirror_image_check_tests)
