cmake_minimum_required(VERSION 3.21)
project(osr_reshade_bridge LANGUAGES CXX)

if(NOT WIN32)
  message(FATAL_ERROR "OSR-ReShade add-on builds only on Windows.")
endif()

set(RESHADE_ROOT "${CMAKE_CURRENT_LIST_DIR}/../vendor/reshade" CACHE PATH "Path to ReShade source tree")
if(NOT EXISTS "${RESHADE_ROOT}/include/reshade.hpp")
  message(FATAL_ERROR "ReShade headers not found. Set RESHADE_ROOT or run scripts/bootstrap_reshade.ps1")
endif()

add_library(osr_reshade_bridge SHARED src/osr_reshade_addon.cpp)
target_compile_features(osr_reshade_bridge PRIVATE cxx_std_20)
target_include_directories(osr_reshade_bridge PRIVATE "${RESHADE_ROOT}/include")
target_compile_definitions(osr_reshade_bridge PRIVATE WIN32_LEAN_AND_MEAN NOMINMAX)

# ReShade discovers add-ons by the .addon extension.
set_target_properties(osr_reshade_bridge PROPERTIES
  PREFIX ""
  OUTPUT_NAME "osr_reshade_bridge"
  SUFFIX ".addon"
)
