cmake: hardcode git info for faster incremental Debug builds #2473
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Problem:
A git commit sha or a branch name change causes relinking of executable targets with silkworm-buildinfo library even if nothing else has changed.
During development (e.g. local Debug builds) it is more important to have fast incremental builds than having the correct git commit sha and a branch name baked into the binary.
Solution:
Add git info arguments to cable_add_buildinfo_library. Hardcode them in Debug builds to avoid relinking and save time when doing small changes and git rebase/squash/reword operations.
Test
Silkworm
git commit --amend --date=now && time make
output before the change:Silkworm
git commit --amend --date=now && time make
output after the change:Note
Our evmone refers to
https://github.com/erigontech/evmone
-rebase_to_v0.13
branch.Upstream PR:
ethereum/evmone#1067