diff --git a/ports/safetyhook/fix-cmake-install.patch b/ports/safetyhook/fix-cmake-install.patch new file mode 100644 index 00000000000000..fc1bc36b10d1e3 --- /dev/null +++ b/ports/safetyhook/fix-cmake-install.patch @@ -0,0 +1,55 @@ +diff --git a/cmake/safetyhook-config.cmake.in b/cmake/safetyhook-config.cmake.in +new file mode 100644 +index 0000000..5d08ca1 +--- /dev/null ++++ b/cmake/safetyhook-config.cmake.in +@@ -0,0 +1,7 @@ ++@PACKAGE_INIT@ ++ ++include(CMakeFindDependencyMacro) ++find_dependency(zydis CONFIG) ++ ++include("${CMAKE_CURRENT_LIST_DIR}/safetyhook-targets.cmake") ++check_required_components(safetyhook) +diff --git a/cmake.toml b/cmake.toml +index 04645b8..3f6ec3d 100644 +--- a/cmake.toml ++++ b/cmake.toml +@@ -84,10 +84,17 @@ if(SAFETYHOOK_USE_CXXMODULES) + endif() + + include(GNUInstallDirs) ++include(CMakePackageConfigHelpers) ++ ++configure_package_config_file( ++ ${CMAKE_CURRENT_SOURCE_DIR}/cmake/safetyhook-config.cmake.in ++ ${CMAKE_CURRENT_BINARY_DIR}/safetyhook-config.cmake ++ INSTALL_DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/safetyhook ++) + + install( + TARGETS safetyhook +- EXPORT safetyhook-export ++ EXPORT safetyhook-targets + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} +@@ -100,11 +107,16 @@ install( + ) + + install( +- EXPORT safetyhook-export +- FILE safetyhook-config.cmake ++ EXPORT safetyhook-targets ++ FILE safetyhook-targets.cmake + NAMESPACE safetyhook:: + DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/safetyhook + ) ++ ++install( ++ FILES ${CMAKE_CURRENT_BINARY_DIR}/safetyhook-config.cmake ++ DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/safetyhook ++) + """ + + [target.docs] diff --git a/ports/safetyhook/portfile.cmake b/ports/safetyhook/portfile.cmake new file mode 100644 index 00000000000000..d05bc4f95191fa --- /dev/null +++ b/ports/safetyhook/portfile.cmake @@ -0,0 +1,25 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO cursey/safetyhook + REF "v${VERSION}" + SHA512 29fe65c6c6a5fbf6c9fc8effbd33a04b08c88c09d009e2ea55a5d459ca0feaac4c8d09621b983f607f30fcb1a56a45f4e4843731362ff8375b6d1dcf84126f25 + HEAD_REF main + PATCHES + "fix-cmake-install.patch" +) + +vcpkg_find_acquire_program(GIT) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + "-DGIT_EXECUTABLE=${GIT}" + "-DSAFETYHOOK_FETCH_ZYDIS=OFF" +) + +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/safetyhook) + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/safetyhook/vcpkg.json b/ports/safetyhook/vcpkg.json new file mode 100644 index 00000000000000..150774413bca5e --- /dev/null +++ b/ports/safetyhook/vcpkg.json @@ -0,0 +1,19 @@ +{ + "name": "safetyhook", + "version-semver": "0.6.4", + "description": "C++23 procedure hooking library.", + "homepage": "https://github.com/cursey/safetyhook", + "license": "BSL-1.0", + "supports": "(windows | linux) & !arm & !uwp", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + }, + "zydis" + ] +} diff --git a/scripts/ci.baseline.txt b/scripts/ci.baseline.txt index 4b1c4c68045c05..6a0160879b35d7 100644 --- a/scripts/ci.baseline.txt +++ b/scripts/ci.baseline.txt @@ -980,6 +980,7 @@ rpclib:x64-uwp=fail rtmidi:arm-neon-android=fail rtmidi:arm64-android=fail rtmidi:x64-android=fail +safetyhook:x64-linux=fail salome-medcoupling:x64-linux=fail scintilla:arm-neon-android=fail scintilla:arm64-android=fail diff --git a/versions/baseline.json b/versions/baseline.json index 90ea8e25809d67..6e349398e34305 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -8152,6 +8152,10 @@ "baseline": "3.0.28", "port-version": 0 }, + "safetyhook": { + "baseline": "0.6.4", + "port-version": 0 + }, "sail": { "baseline": "0.9.8", "port-version": 0 diff --git a/versions/s-/safetyhook.json b/versions/s-/safetyhook.json new file mode 100644 index 00000000000000..f1968e0cb2a901 --- /dev/null +++ b/versions/s-/safetyhook.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "66ba3f81271640fdca4669d76513fa5c263d1f0e", + "version-semver": "0.6.4", + "port-version": 0 + } + ] +}