-
Notifications
You must be signed in to change notification settings - Fork 1.8k
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
cli11: Compile by default, add header_only option #25741
Conversation
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
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.
LGTM
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
recipes/cli11/all/conanfile.py
Outdated
"header_only": [True, False] | ||
} | ||
default_options = { | ||
"header_only": False |
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.
"header_only": False | |
"header_only": True |
Keep header-only as True, so the Package ID will be the same as for previous versions.
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.
That really sucks because header only builds are very undesirable. It ends up breaking unrelated code due to leaked implementation details like included system headers. That's what prompted me to create the issue and PR in the first place.
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.
The main issue here is that upstream also defaults to a single-header installation, and the compilation behaviour is opt-in, so with this we would be following the choices on upstream
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.
It's a very user hostile default though, only motivated by ease of distribution, which is hardly a concern if one is using Conan.
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.
@vasama You still can build using the option that you need in your configuration as well. In CCI we mostly follow upstream default behavior, as it will affect all users and will reflect the upstream build as well.
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.
I'm aware of that. I just want to make it clear that header only is a bad and pointless default.
This comment has been minimized.
This comment has been minimized.
Signed-off-by: Uilian Ries <[email protected]>
Signed-off-by: Uilian Ries <[email protected]>
This comment has been minimized.
This comment has been minimized.
Signed-off-by: Uilian Ries <[email protected]>
Conan v1 pipeline ✔️Warning Conan Center will stop receiving updates for Conan 1.x packages soon - please see announcement. All green in build 11 (
Conan v2 pipeline ✔️
All green in build 11 (
|
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.
LGTM.
Summary
CLI11 supports static library builds. This PR changes the recipe to build a static library by default and adds a header only option.
Motivation
Fixes #25737.
Details