Add support for a system-wide shared libraries
- Dominant language
- C++
- Stars
- 8.6k
- Forks
- 1k
- PR merge metrics
- No merged PRs in 30d
Description
First of all, thank you for fixing the issue #94 , this is a good progress.
As the way of improvement, I would like to suggest implementing support of system-wide dependencies as well. For example, there are few tools which require capstone, libdwarf and all of them want to compile their own copy and link to it statically and there are a lot obvious disadvantages of such approach.
There is a way to verify if a system-wide library matches retdec requirements using pkg-config or cmake files and it should be possible to compile against them instead of compiling a static copy.
The tools which do not match can be still compiled locally (optionally).
The full list of the external tools is getting downloaded to the following location: external/src
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by inspecting the external dependency setup under external/src and the existing CMake files. Trace how tools such as capstone and libdwarf are downloaded and built, then review how pkg-config or CMake could identify compatible system libraries. Done means compatible system-wide dependencies are used while incompatible ones can still be built locally.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cmake, cpp
- Domain
- build-system
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100