Migrate away from CMake and use Bazel
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 25/100
- Issue type
- Feature
- Clarity
- Needs clarification
- Activity status
- Stale
- Tech stack
- cmake, cpp
- Domain
- build-system
Research direction
Start by investigating the existing CMake build and the internal Bazel setup already used for BinDiff, including the IDA plugins and UI. Map how the OSS Google dependencies such as Abseil and Protobuf are currently handled across Windows, Linux, and macOS. Done means a defined, maintainable Bazel migration plan or implementation covering the supported components and platforms.
Written by the indexing model from the issue text.
Description
Is your feature request related to a problem? Please describe.
Handling C++ dependencies in CMake is difficult. Bazel makes a lot easier, especially since BinDiff needs the OSS Google stack (Abseil, Protobuf, etc. but later maybe gRPC)
Describe the solution you'd like
Bazel has decent support for Windows, Linux and macOS and its build files are easier to maintain.
Describe alternatives you've considered
N/A
Additional context
This should first be investigated, but it's definitely feasible, as we are building most of BinDiff with the internal version of Bazel already (including IDA plugins and the UI).
- Dominant language
- Java
- Stars
- 3.2k
- Forks
- 240
- PR merge metrics
- No merged PRs in 30d
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from google/bindiff
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
-
question
Difficulty 3/5 1-2 days Newbie friendliness 42/100
-
Difficulty 4/5 3-5 days Newbie friendliness 35/100
-
Difficulty 1/5 Under an hour Newbie friendliness 55/100
-
Difficulty 5/5 Over a week Newbie friendliness 15/100
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 65/100
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
elastic/gradle-plugins#157 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
cryptomator/hub#497 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
johanhaleby/occurrent#1120 ·