diff --git a/CMakeLists.txt b/CMakeLists.txt index ed08805..4a73d61 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -217,6 +217,8 @@ if (POLYHOOK_USE_EXTERNAL_ZYDIS) target_link_libraries(${PROJECT_NAME} PUBLIC ${ZYCORE_LIBRARY}) target_include_directories(${PROJECT_NAME} PUBLIC ${ZYDIS_INCLUDE_DIR}) target_include_directories(${PROJECT_NAME} PUBLIC ${ZYCORE_INCLUDE_DIR}) + find_package(zydis REQUIRED) + target_link_libraries(${PROJECT_NAME} PUBLIC Zydis::Zydis) else() target_link_libraries(${PROJECT_NAME} PUBLIC $) target_include_directories(${PROJECT_NAME} PUBLIC $) @@ -233,6 +235,8 @@ function(link_asmjit) find_path(ASMJIT_INCLUDE_DIR NAMES asmjit/asmjit.h) target_link_libraries(${PROJECT_NAME} PRIVATE ${ASMJIT_LIBRARY}) target_include_directories(${PROJECT_NAME} PUBLIC ${ASMJIT_INCLUDE_DIR}) + find_package(asmjit REQUIRED) + target_link_libraries(${PROJECT_NAME} PRIVATE asmjit::asmjit) else() target_link_libraries(${PROJECT_NAME} PRIVATE $) target_include_directories(${PROJECT_NAME} PUBLIC "$") @@ -248,6 +252,8 @@ if(POLYHOOK_FEATURE_DETOURS) find_path(ASMTK_INCLUDE_DIR NAMES asmtk/asmtk.h) target_link_libraries(${PROJECT_NAME} PUBLIC ${ASMTK_LIBRARY}) target_include_directories(${PROJECT_NAME} PUBLIC ${ASMTK_INCLUDE_DIR}) + find_package(asmtk REQUIRED) + target_link_libraries(${PROJECT_NAME} PRIVATE asmjit::asmtk) else() target_link_libraries(${PROJECT_NAME} PUBLIC $) target_include_directories(${PROJECT_NAME} PUBLIC "$") diff --git a/polyhook_2-config.cmake.in b/polyhook_2-config.cmake.in index 709f8b5..599d1f7 100644 --- a/polyhook_2-config.cmake.in +++ b/polyhook_2-config.cmake.in @@ -10,5 +10,14 @@ set(POLYHOOK_FEATURE_INLINENTD @POLYHOOK_FEATURE_INLINENTD@) set(POLYHOOK_FEATURE_PE @POLYHOOK_FEATURE_PE@) set(POLYHOOK_FEATURE_VIRTUALS @POLYHOOK_FEATURE_VIRTUALS@) +include(CMakeFindDependencyMacro) +find_dependency(Zydis) +if(POLYHOOK_FEATURE_DETOURS) + find_dependency(asmjit) +endif() +if(POLYHOOK_FEATURE_INLINENTD) + find_dependency(asmtk) +endif() + get_filename_component(POLYHOOK_CMAKE_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH) include("${POLYHOOK_CMAKE_DIR}/PolyHook_2-targets.cmake")