Skip to content
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

Merged
merged 14 commits into from
Sep 27, 2019
Merged

Conversation

past-due
Copy link
Contributor

Also updates the USAGE instructions to:

  • use CONFIG mode (to pick up the CMake exported configuration)
  • link to the CURL::libcurl target (which picks up the proper dependencies / link information from the CMake exported configuration)

@cenit
Copy link
Contributor

cenit commented Jul 19, 2019

Also updates the USAGE instructions to:

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

@past-due past-due force-pushed the update_curl_7_65_3 branch from 463c4ba to 7ac0b4f Compare August 13, 2019 14:46
@past-due
Copy link
Contributor Author

@Rastaban, @vicroms: CI passing (after rebase)

@cbezault cbezault self-assigned this Aug 15, 2019
@cbezault
Copy link
Contributor

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.

@past-due
Copy link
Contributor Author

Ah yes, to clarify:

  • To properly link to vcpkg's curl port in all circumstances, it is necessary to explicitly specify CONFIG mode and link to the CURL::libcurl exported target.
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:
#7332 (comment)
#7260 (comment)

(Use auto-generated message about exported config.)
@past-due past-due force-pushed the update_curl_7_65_3 branch from 7ac0b4f to 36d93f5 Compare August 15, 2019 23:32
@cenit
Copy link
Contributor

cenit commented Aug 16, 2019

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
Copy link
Contributor

@past-due, to be clear we're not going to merge this until you implement @cenit's suggestion.

@past-due
Copy link
Contributor Author

past-due commented Sep 11, 2019

@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 CONFIG IN_LIST ARGS before appending CONFIG? Does the vcpkg-cmake-wrapper.cmake need to be installed - and where?)

And again, just to clarify, the current status of the curl port is that the USAGE recommendation is broken / incorrect.

@kevinlul
Copy link
Contributor

curl 7.66.0 has been released.

@past-due past-due changed the title [curl] Update to 7.65.3 [curl] Update to 7.66.0 Sep 11, 2019
@cbezault
Copy link
Contributor

Thanks for the work so far. Yes you do need to install the wrapper. I'll work on getting this merged.

@cbezault cbezault requested a review from vicroms September 18, 2019 21:16
@cbezault
Copy link
Contributor

/azp run

@@ -0,0 +1,52 @@
set (FOUND_CONFIG FALSE)

foreach (ARG ${ARGS})
Copy link
Contributor

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

Copy link
Contributor

@cbezault cbezault Sep 25, 2019

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.

Copy link
Contributor

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

Copy link
Contributor

@cbezault cbezault Sep 25, 2019

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.

@cbezault cbezault merged commit 67a9305 into microsoft:master Sep 27, 2019
@cenit
Copy link
Contributor

cenit commented Oct 9, 2019

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)

cenit added a commit to cenit/vcpkg that referenced this pull request Oct 9, 2019
vicroms added a commit that referenced this pull request Oct 10, 2019
[curlpp] fix regression introduced in #7331
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants