-
Notifications
You must be signed in to change notification settings - Fork 7.3k
[vcpkg-make] Prevent error 'vcpkg_cmake_get_vars was passed extra arguments: ADDITIONAL_LANGUAGES' building icu #49022
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
[vcpkg-make] Prevent error 'vcpkg_cmake_get_vars was passed extra arguments: ADDITIONAL_LANGUAGES' building icu #49022
Conversation
…uments: ADDITIONAL_LANGUAGES' building icu
…xtra arguments: ADDITIONAL_LANGUAGES' building icu" This reverts commit bceede3.
…uments: ADDITIONAL_LANGUAGES' building icu
|
Invalid. |
I was using the head of 'master' building qt_base. Just checkout master and build icu to replicate. |
|
But did you start with an up-to-date installation of host dependency vcpkg-cmake-get-vars? |
|
Yes |
|
Do you want to indicate that (after reviewing the suggestions). |
| if(DEFINED arg_LANGUAGES) | ||
| set(Z_VCPKG_MAKE_GET_CMAKE_VARS_OPTS "ADDITIONAL_LANGUAGES;${arg_LANGUAGES}" CACHE INTERNAL "") | ||
| endif() |
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.
NB: This will still pass ADDITIONAL_LANGUAGES in many cases, and so it would still raise the same error if vcpkg_cmake_get_vars wouldn't understand that option.
ADDITIONAL_LANGUAGES with and without args passes CI without errors.
But old version of vcpkg-cmake-get-vars don't know the keyword and raise the error.
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.
A direct use of the option is in port libffi.
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 was in no way apparent from the upgrade list that qtbase (or icu) needs vcpkg_cmake_get_vars.
Is there no way for a package (like icu) to check the required version of vcpkg_xxxx is installed?
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 was in no way apparent from the upgrade list that qtbase (or icu) needs vcpkg_cmake_get_vars.
True, but the update list is for showing updates, not for highlighting transitive dependencies. For dependencies, there is:
$ ./vcpkg depend-info icu
vcpkg-cmake:
vcpkg-cmake-get-vars: vcpkg-cmake
vcpkg-make: vcpkg-cmake-get-vars
icu[tools]: vcpkg-cmake-get-vars, vcpkg-make
Is there no way for a package (like icu) to check the required version of vcpkg_xxxx is installed?
Not in a simple way.
In classic mode, version inforation from the manifests is not used, so a simple condition in the manifests wouldn't help. Basically, as it is tested in CI, all ports should use the version from the same commit in the registry. User may skip upgrading installed ports when updating their copy of the registry, but then things may break.
(In manifest mode, the builtin-baseline also selects versions from the same revision of the main registry. Upgrades are done automatically when changing the baseline, so this is almost a non-issue - at the price of long rebuilds.)
BillyONeal
left a comment
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.
Invalid. The problem is not the passing of an empty list to multiple value option
LANGUAGES. The problem is having installed an old version of portvcpkg_cmake_get_varswhich doesn't know that option. The solution is to update the installed port.
I agree
@vicroms agrees so I'm going to close this. Thanks for your submission and sorry that the diagnostics aren't better :/ |

Fixes #47887
Fixes #47301