-
Notifications
You must be signed in to change notification settings - Fork 6.7k
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
[scripts] add new function vcpkg_fixup_pkgconfig #9861
[scripts] add new function vcpkg_fixup_pkgconfig #9861
Conversation
use --define-variable=prefix=INSTALL_PATH
/azp run |
@vicroms |
So my question now would be: |
We want to leverage the automatic correction, so if there's no other option we should define it as this PR did originally. I think that internally we should pass |
+1 for this. Just to reiterate the underlying sentiment and goal: we don't want packages to magically work on the original build machine, but randomly fail if you try to use them on another machine. Instead, we want them to fail consistently in both environments or work in both. If that requires users to throw |
# .. command:: vcpkg_fixup_pkgconfig | ||
# | ||
# Tries to fix the paths found in *.pc files | ||
|
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.
As a note: we use a different comment style, which is extracted into .md
files via docs/regenerate.ps1
. See some other helpers like vcpkg_configure_cmake()
for examples.
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.
changed but still not sure if its 100% correct.
I'll add in a check which will check if the following:
really exist. Translates -l into lib.(a|lib) or .(a|lib) must exist. Most commonly, the debug name is false for CMake builds due to added debug suffixes while the library name is hardcoded in a *.pc.in The same for
which means that a .pc file needs to exist |
@dan-shaw @ras0219-msft |
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.
-- Fixing pkgconfig --- finished
CMake Error at scripts/cmake/vcpkg_fixup_pkgconfig.cmake:245 (set):
set given invalid arguments for CACHE mode.
Note: since CMake is run in script mode the description of VCPKG_FIXUP_PKGCONFIG_CALLED cannot be viewed
removed under comment |
Could you add the |
collected the glib(MESON) package,*.pc everything from vcpkg, all pass validation manually |
So the reason for the error was that one package was missing but the error did not point to the missing package? Or am I misunderstanding it again? |
all packages were found and the build was made successfully, the script after the build can not work out some system files
specifically these lines
|
/azp run |
Done |
make pc files relocatable by using ${pcfiledir} in prefix tested with x window pr
LGTM. Thanks. |
@Neumann-A example
|
@ras0219-msft merge this PR Thanks. |
LGTM! Thanks @Neumann-A :) |
similar to vcpkg_fixup_cmake_targets.
Mainly prefix corrections and transforming absolute paths into relativ ones (relative to prefix).
tries to solve #3108