Closed XiangruLiu0 closed 1 year ago
Hi! Thanks for reporting this.
According to our README:
The Zydis port in vcpkg is kept up to date by Microsoft team members and community contributors. If the version is out of date, please create an issue or pull request on the vcpkg repository.
I have to admit that I don't have any experience with vcpkg
. I will leave this issue open for a while in case we can support resolving this problem on our side.
We recommend including Zydis
as a submodule. We do provide an example in this repository: https://github.com/zyantific/zydis-submodule-example
I'm also not very familiar with vcpkg 🤣 that's why I didn't create a pull request directly in vcpkg's repository
After spending half a day on vcpkg, I figured a way to fix this issue.
My idea is to add Zycore
as a new port to vcpkg and declare it as Zydis
's dependency, this works perfectly on my own fork of vcpkg.
I have created pull requests to vcpkg, waiting for its maintainers to merge my commits 😃
Thanks for taking care! I was under the impression that Zycore already is an independent module on vcpkg.
Ah, nice! We originally argued against making Zycore a separate port because it neither had version numbers on its own, nor did it have any API or ABI stability guarantees. This has since changed, so making it a separate port is indeed probably for the best. Thanks for investigating and fixing this!
VCPKG PR for reference: https://github.com/microsoft/vcpkg/pull/27195
While this appears to resolve find_package on zycore, zydis still has the problem because it's zydis-config.cmake is in a subdirectory zydis/zydis
.
The simple workaround is to copy all the .cmake files down to the root.
I installed
zydis
andzycore
by runningvcpkg install zydis:x64-windows
, but when I want to use these packages in my CMake project withfind_package(zycore REQUIRED)
andfind_package(zydis REQUIRED)
, CMake report errors like thisAnd I looked into
zydis
's install directory,zydis-config.cmake
is placed under thezydis
subfolder of${VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/share/zydis
, that's why cmake can't find it.Desired behavior:
zycore
andzydis
should be placed separately under vcpkg's folder