Signed-off-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com> Signed-off-by: Coia Prant <coiaprant@gmail.com> Co-authored-by: Ricky8955555 <rkmiao@duck.com> Co-authored-by: Mike Fara <mjfara@gmail.com> Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
35 lines
1.6 KiB
CMake
35 lines
1.6 KiB
CMake
# windows specific dependencies
|
|
|
|
# MinHook setup - use installed minhook for AMD64, otherwise download minhook-detours for ARM64
|
|
if(CMAKE_SYSTEM_PROCESSOR MATCHES "AMD64")
|
|
# Make sure MinHook is installed for x86/x64
|
|
find_library(MINHOOK_LIBRARY libMinHook.a REQUIRED)
|
|
find_path(MINHOOK_INCLUDE_DIR MinHook.h PATH_SUFFIXES include REQUIRED)
|
|
|
|
add_library(minhook::minhook STATIC IMPORTED)
|
|
set_property(TARGET minhook::minhook PROPERTY IMPORTED_LOCATION ${MINHOOK_LIBRARY})
|
|
target_include_directories(minhook::minhook INTERFACE ${MINHOOK_INCLUDE_DIR})
|
|
else()
|
|
# Download pre-built minhook-detours for ARM64
|
|
message(STATUS "Downloading minhook-detours pre-built binaries for ARM64")
|
|
include(FetchContent)
|
|
|
|
FetchContent_Declare(
|
|
minhook-detours
|
|
URL https://github.com/m417z/minhook-detours/releases/download/v1.0.6/minhook-detours-1.0.6.zip
|
|
URL_HASH SHA256=E719959D824511E27395A82AEDA994CAAD53A67EE5894BA5FC2F4BF1FA41E38E
|
|
)
|
|
FetchContent_MakeAvailable(minhook-detours)
|
|
|
|
# Create imported library for the pre-built DLL
|
|
set(_MINHOOK_DLL
|
|
"${minhook-detours_SOURCE_DIR}/Release/minhook-detours.ARM64.Release.dll"
|
|
CACHE INTERNAL "Path to minhook-detours DLL")
|
|
add_library(minhook::minhook SHARED IMPORTED GLOBAL)
|
|
set_property(TARGET minhook::minhook PROPERTY IMPORTED_LOCATION "${_MINHOOK_DLL}")
|
|
set_property(TARGET minhook::minhook PROPERTY IMPORTED_IMPLIB
|
|
"${minhook-detours_SOURCE_DIR}/Release/minhook-detours.ARM64.Release.lib")
|
|
set_target_properties(minhook::minhook PROPERTIES
|
|
INTERFACE_INCLUDE_DIRECTORIES "${minhook-detours_SOURCE_DIR}/src"
|
|
)
|
|
endif()
|