cmake_minimum_required(VERSION 3.20)
project(RageNativeFixtureContract C)
enable_testing()
find_package(SDL3 CONFIG REQUIRED)
add_executable(native_asset_fixture ../render/native_asset_fixture.c)
add_executable(native_fixture_png_check png_check.c)
target_link_libraries(native_fixture_png_check PRIVATE SDL3::SDL3)
target_compile_features(native_fixture_png_check PRIVATE c_std_17)
target_link_libraries(native_asset_fixture PRIVATE SDL3::SDL3)
target_compile_features(native_asset_fixture PRIVATE c_std_17)
if(MSVC)
    target_compile_options(native_fixture_png_check PRIVATE /W4 /WX)
    target_compile_options(native_asset_fixture PRIVATE /W4 /WX)
    target_compile_definitions(native_asset_fixture PRIVATE _CRT_SECURE_NO_WARNINGS)
else()
    target_compile_options(native_fixture_png_check PRIVATE -Wall -Wextra -Werror)
    target_compile_options(native_asset_fixture PRIVATE -Wall -Wextra -Werror)
endif()
add_test(NAME native_fixture_files COMMAND ${CMAKE_COMMAND}
    -DPNG_CHECK=$<TARGET_FILE:native_fixture_png_check>
    -DTOOL=$<TARGET_FILE:native_asset_fixture> -DOUTPUT=${CMAKE_CURRENT_BINARY_DIR}
    -P ${CMAKE_CURRENT_SOURCE_DIR}/verify.cmake)
