-
Notifications
You must be signed in to change notification settings - Fork 1.1k
cmake: Rework flags summary #1558
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Concept ACK
The note is a bit verbose, but I don't have a convincing suggestion to shorten it.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sorry, when I wrote the previous comment, I assumed this PR is in the hebasto/bitcoin repo for cmake staging... 🤦♂️ :
utACK aa4c5f3 this matches the implementation in hebasto/bitcoin#93 and has been revieed there
Looks like this is at least missing link options like |
Also flags like |
Good observations. These should be fixed if the rule is as in this comment:
|
aa4c5f3
to
765681b
Compare
Both @fanquake's comments have been addressed. |
The same is still missing on Linux? |
6fbe2bc
to
cb574bf
Compare
All recent @fanquake's comments have been addressed. |
cb574bf
to
8ff8b25
Compare
Fixed quoting of (potentially empty) string arguments. |
I'm not a fan of these flag summaries in the configure output. My main concerns are:
Hence, I would vote to remove the flag summary from the configure log. If there is a need for exact flags, we should provide a proper, trustworthy solution. |
I tend to agree. But this seems like a thing where we could just follow whatever Bitcoin Core does. Is the summary still present in Core? |
It is. And people are still concerned about its correctness. cc @fanquake
Hard to disagree. Could you share any ideas for a possible approach? |
I think there's not much we can do because the exact flags depend on the artifact that is built. The exact way is already there: |
I like that approach. We should recommend people to use the It is cool that set -x CMAKE_GENERATOR 'Ninja' # put this in your dotfiles
mkdir build
cd build
cmake .. # assuming the source directory is the parent of the current working dir
ninja help # print all build targets
ninja secp256k1 # build a single target
ninja -t list # list all of ninja's extra tools
ninja -t commands secp256k1 # print the commands that are needed to build a target |
I set Ninja as my default CMake generator long time ago. And I like Ninja Extra tools:
The only thing left is to convince other developers and keep the CI and OSS-Fuzz logs readable. |
This was requested in hebasto/bitcoin#221. The implementation follows the same approach as in hebasto/bitcoin#93.
Here are a few excerpts from the summaries: