aboutsummaryrefslogtreecommitdiff
path: root/vcpkg/ports/scylla-wrapper
diff options
context:
space:
mode:
Diffstat (limited to 'vcpkg/ports/scylla-wrapper')
-rw-r--r--vcpkg/ports/scylla-wrapper/CMakeLists.txt32
-rw-r--r--vcpkg/ports/scylla-wrapper/portfile.cmake28
-rw-r--r--vcpkg/ports/scylla-wrapper/vcpkg.json14
3 files changed, 74 insertions, 0 deletions
diff --git a/vcpkg/ports/scylla-wrapper/CMakeLists.txt b/vcpkg/ports/scylla-wrapper/CMakeLists.txt
new file mode 100644
index 0000000..b906d15
--- /dev/null
+++ b/vcpkg/ports/scylla-wrapper/CMakeLists.txt
@@ -0,0 +1,32 @@
+cmake_minimum_required(VERSION 3.8.0)
+project(scylla_wrapper CXX)
+
+if(MSVC)
+ add_compile_options(/W3 /wd4005 /wd4996 /wd4018 /DUNICODE /D_UNICODE -D_SILENCE_STDEXT_HASH_DEPRECATION_WARNINGS -D_CRT_SECURE_NO_WARNINGS -DNOMINMAX)
+endif()
+
+find_library(DISTORM_LIBRARY distorm)
+find_path(DISTORM_INCLUDE_DIR distorm.h)
+
+include_directories(scylla_wrapper ${DISTORM_INCLUDE_DIR})
+
+file(GLOB scylla_wrapper_srcs "scylla_wrapper/*.cpp")
+
+add_library(scylla_wrapper ${scylla_wrapper_srcs})
+
+if(BUILD_SHARED_LIBS)
+ target_compile_definitions(scylla_wrapper PRIVATE -DSCYLLA_WRAPPER_EXPORTS)
+endif()
+
+target_link_libraries(scylla_wrapper PRIVATE ${DISTORM_LIBRARY})
+
+install(
+ TARGETS scylla_wrapper
+ RUNTIME DESTINATION bin
+ LIBRARY DESTINATION lib
+ ARCHIVE DESTINATION lib
+)
+
+if(NOT DISABLE_INSTALL_HEADERS)
+ install(FILES scylla_wrapper/scylla_wrapper.h DESTINATION include)
+endif()
diff --git a/vcpkg/ports/scylla-wrapper/portfile.cmake b/vcpkg/ports/scylla-wrapper/portfile.cmake
new file mode 100644
index 0000000..f883451
--- /dev/null
+++ b/vcpkg/ports/scylla-wrapper/portfile.cmake
@@ -0,0 +1,28 @@
+# scylla_wrapper_dll supplies a DllMain
+vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY)
+
+vcpkg_from_bitbucket(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO cypherpunk/scylla_wrapper_dll
+ REF 4ad953ec04108269f1d80a91b2723b3e22d1b4d2
+ SHA512 d7cb72e097e86e96cf0a8f463c0f839c9608fa4276bc1e2e984290984bcfe8a5b2257b1511259cb78802819fadf2c1001dc3011ee2c6dc9dfcbdb561d34e0c35
+ HEAD_REF master
+)
+
+file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}")
+file(REMOVE
+ "${SOURCE_PATH}/scylla_wrapper_dll/distorm.h"
+ "${SOURCE_PATH}/scylla_wrapper_dll/distorm_x64.lib"
+ "${SOURCE_PATH}/scylla_wrapper_dll/distorm_x86.lib"
+)
+
+vcpkg_cmake_configure(
+ SOURCE_PATH "${SOURCE_PATH}"
+ OPTIONS_DEBUG
+ -DDISABLE_INSTALL_HEADERS=ON
+)
+
+vcpkg_cmake_install()
+vcpkg_copy_pdbs()
+
+file(INSTALL "${SOURCE_PATH}/README.md" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright)
diff --git a/vcpkg/ports/scylla-wrapper/vcpkg.json b/vcpkg/ports/scylla-wrapper/vcpkg.json
new file mode 100644
index 0000000..2b3ff60
--- /dev/null
+++ b/vcpkg/ports/scylla-wrapper/vcpkg.json
@@ -0,0 +1,14 @@
+{
+ "name": "scylla-wrapper",
+ "version": "2018-08-26-16e6f435",
+ "port-version": 3,
+ "description": "This is a wrapper around Scylla. It exports functions for IAT fixing, dumping and PE rebuilding. based on https://github.com/NtQuery/Scylla commit 0f6b7198be (v0.9.6b).",
+ "supports": "windows & !uwp & !arm & !static",
+ "dependencies": [
+ "distorm",
+ {
+ "name": "vcpkg-cmake",
+ "host": true
+ }
+ ]
+}