# Microsoft Detours (MIT) — function hooking and DLL injection. # Upstream ships no CMake build, so we compile its sources into a static lib. include(FetchContent) FetchContent_Declare(detours_src GIT_REPOSITORY https://github.com/microsoft/Detours.git GIT_TAG v4.0.1 GIT_SHALLOW TRUE ) FetchContent_MakeAvailable(detours_src) set(_d ${detours_src_SOURCE_DIR}/src) add_library(detours STATIC ${_d}/detours.cpp ${_d}/modules.cpp ${_d}/disasm.cpp ${_d}/image.cpp ${_d}/creatwth.cpp ${_d}/disolx86.cpp ${_d}/disolx64.cpp ${_d}/disolia64.cpp ${_d}/disolarm.cpp ${_d}/disolarm64.cpp ) target_include_directories(detours PUBLIC ${_d}) # C++20 implies /permissive-, which v4.0.1 does not compile under (goto over initialisations). target_compile_options(detours PRIVATE /W3 /permissive)