-
Notifications
You must be signed in to change notification settings - Fork 6.7k
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
[curl] Update to 7.66.0 #7331
[curl] Update to 7.66.0 #7331
Conversation
Just asking: isn't it better in this case to remove the usage file and let vcpkg deal with it automatically? If it finds an exported config, it should print how to use it |
463c4ba
to
7ac0b4f
Compare
The reason why you're changing the usage is to point users to the targets exported by curl's config? Sure that's fair, though most projects rely on CMake's module. If that's the goal (which I think it is) you should just let vcpkg auto-generate the message. |
Ah yes, to clarify:
find_package(CURL CONFIG REQUIRED)
target_link_libraries(main PRIVATE CURL::libcurl) Using CMake's module will fail to pick up proper dependencies (causing linker errors) depending on the configuration used for the curl port. References: |
(Use auto-generated message about exported config.)
7ac0b4f
to
36d93f5
Compare
Isn’t better in this case to prepare a wrapper to force the config whatever the user requested and to export all targets created by the official CMake module? Otherwise many projects that use traditional settings would have to adapt with a specific case for vcpkg |
@cbezault: Documentation on wrappers seems lacking? I've committed a rough draft, but have not had a chance to test it. (And likely won't have time this month.) Feel free to push any changes that are required. (For example: Is it necessary to check for And again, just to clarify, the current status of the curl port is that the |
curl 7.66.0 has been released. |
Thanks for the work so far. Yes you do need to install the wrapper. I'll work on getting this merged. |
/azp run |
ports/curl/vcpkg-cmake-wrapper.cmake
Outdated
@@ -0,0 +1,52 @@ | |||
set (FOUND_CONFIG FALSE) | |||
|
|||
foreach (ARG ${ARGS}) |
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.
is it really necessary? looks unnecessarily complicated.
I'd take a look at what I did for LibLZMA, also because there is the "MODULE" keyword forgotten (which is incompatible with the CONFIG keyword but not managed here...)
https://github.com/microsoft/vcpkg/blob/master/ports/liblzma/vcpkg-cmake-wrapper.cmake
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.
hmmm, is list(REMOVE_ITEM)
case-insensitive? It does look cleaner.
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.
can you really pass MODULE
, CONFIG
and NO_MODULE
lowercase? TWIL
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.
Huh, apparently it's inconsistently implemented but they are supposed to be case-sensitive. TIL. I'll move to your approach.
in this PR curlpp CONTROL file was not bumped and people that upgraded (like me) are now in a broken state, since curlpp target is not fine with latest curl changes it is therefore necessary to delete curlpp and reinstall, or just prepare a PR to bump its version (without any other modification) |
[curlpp] fix regression introduced in #7331
Also updates the
USAGE
instructions to:CONFIG
mode (to pick up the CMake exported configuration)CURL::libcurl
target (which picks up the proper dependencies / link information from the CMake exported configuration)