add_library(coop_hook SHARED
	src/dllmain.cpp
	src/xinput_hook.cpp
	src/focus_spoof.cpp
	src/audio_hook.cpp)

target_include_directories(coop_hook PRIVATE src)

# The audio render-hook uses IAudioClient3 / process-audio interfaces, which need
# the Windows 10 20H1 (NTDDI_WIN10_CO) headers.
target_compile_definitions(coop_hook PRIVATE NTDDI_VERSION=0x0A00000B)

target_link_libraries(coop_hook PRIVATE
	coop_common
	safetyhook::safetyhook
	user32
	ole32
	mmdevapi)

set_target_properties(coop_hook PROPERTIES OUTPUT_NAME "coop_hook")

# TODO(dist): statically link the VC runtime (/MT) so the DLL loads in games on
# machines without the matching VC redist. Deferred until SafetyHook + Zydis are
# also forced to a static CRT to avoid a /MT-vs-/MD mismatch.
