JonathanSalwan / Triton

Triton is a dynamic binary analysis library. Build your own program analysis tools, automate your reverse engineering, perform software verification or just emulate code.
https://triton-library.github.io
Apache License 2.0
3.5k stars 533 forks source link

Add vcpkg installation instructions #1175

Closed Cheney-W closed 2 years ago

Cheney-W commented 2 years ago

Triton is available as a port in vcpkg, a C++ library manager that simplifies installation for triton and other project dependencies. Documenting the install process here will help users get started by providing a single set of commands to build triton, ready to be included in their projects.

We also test whether our library ports build in various configurations (dynamic, static) on various platforms (OSX, Linux, Windows: x86, x64, UWP, ARM) to keep a wide coverage for users.

I'm a maintainer for vcpkg, and here is what the port script looks like. We try to keep the library maintained as close as possible to the original library.

JonathanSalwan commented 2 years ago

Hey @Cheney-W,

Thanks to have taken time to update our Readme file. I'm not familiar with vcpkg and I would like to know if those files 1, 2 and 3 are still mandatory to install Triton via your packet manager?

Cheney-W commented 2 years ago

1 and 3 yes, 2 no.

1 is a custom file for the installation package in vcpkg manifest mode, which can be used to limit the version of the package to be installed. It is equivalent to a configuration file for a specific package.

3 are some custom triplet files, which are different from our official triplet files. They are generally added by users to meet their own specific config or link options. They can be used when installing packages to use Install packages under certain conditions, for example, build only in release mode, not in debug mode.

2 has nothing to do with vcpkg, just configure some information of vcpkg into itself, but if you don't actively find the third-party library installed through vcpkg in the cmakelist file, you can assume that information does not exist.