-
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
[3fd|python3] switch to vcpkg-msbuild #33026
[3fd|python3] switch to vcpkg-msbuild #33026
Conversation
Neumann-A
commented
Aug 8, 2023
•
edited
Loading
edited
- make 3fd use vcpkg-msbuild
- make python use vcpkg-msbuild
- fix python cross builds on windows
@@ -94,11 +95,15 @@ if(VCPKG_TARGET_IS_WINDOWS) | |||
find_library(SQLITE_DEBUG NAMES sqlite3 PATHS "${CURRENT_INSTALLED_DIR}/debug/lib" NO_DEFAULT_PATH) | |||
find_library(SSL_RELEASE NAMES libssl PATHS "${CURRENT_INSTALLED_DIR}/lib" NO_DEFAULT_PATH) | |||
find_library(SSL_DEBUG NAMES libssl PATHS "${CURRENT_INSTALLED_DIR}/debug/lib" NO_DEFAULT_PATH) | |||
list(APPEND add_libs_rel "${BZ2_RELEASE};${EXPAT_RELEASE};${FFI_RELEASE};${LZMA_RELEASE};${SQLITE_RELEASE}") | |||
list(APPEND add_libs_dbg "${BZ2_DEBUG};${EXPAT_DEBUG};${FFI_DEBUG};${LZMA_DEBUG};${SQLITE_DEBUG}") |
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.
Wouldn't this benefit from x_vcpkg_pkgconfig_get_modules()
?
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 could rather add DEPENDENT_PKGCONFIG
to vcpkg_msbuild_install
but didn't want to go there yet.
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.
Why are these libs duplicated in props file?
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 ultimate cleanup plan would be to remove openssl.props.in
and python_vcpkg.props.in
completely.
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.
Why?
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.
@Hoikas I assume the why is in response of dropping the props
files as ultimate cleanup. Simply said no portfile should require a direct interaction with build system internals. In the case of MSBuild it is the injection of props files which every port would have needed to to manually. It is simply better to have an abstraction around that than having to deal with msbuild shenanigans.
CI run failed:
Details: |
Yeah I know. Something wrong with msbuild not selecting the right configuration for some reason. The command line has |
hmm even |
Hmm there is a bug in python3 which builds an executable for the host instead the target which is why the cross builds fail here (see #31727 (comment)) |
ports/3fd/portfile.cmake
Outdated
@@ -13,18 +13,16 @@ vcpkg_from_github( | |||
) | |||
|
|||
# Build: | |||
if (VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") # UWP: | |||
if (VCPKG_TARGET_IS_UWP) # UWP: | |||
vcpkg_install_msbuild( |
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 this to use vcpkg_msbuild_install
, too?
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.
Hmm would have assumed CI to catch that but I see 3fd:x64-uwp: cascade
. So the port once build for uwp but no longer does.
Reason: poco is only supported on '!uwp', which does not match x64-uwp.
So the official python installation does not contain |
Yes since that is against vcpkg policy. vcpkg only builds for the target triplet nothing else.
No it cannot since it is required to run for cross builds to generate some headers/scripts if I understand what it is doing correctly. I moved it to The build of that project could probably be suppressed for |