-
Notifications
You must be signed in to change notification settings - Fork 6.4k
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
[Qt6|6.1.0] Add new ports. #14333
[Qt6|6.1.0] Add new ports. #14333
Conversation
…-base # Conflicts: # ports/zstd/CONTROL # ports/zstd/portfile.cmake
A few points: Almost certainly, code will want to be written to consume either Qt5 xor Qt6 xor QtNext. In this case, metaports are the correct approach to allow users to customize the specific Qt version selected. There may need to be some cmake hackery to "force" the selected Qt version in In the output txt files, I'm seeing headers like:
Are users expected to use If the intent is for users to use |
Usage should be usage is e.g. |
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.
Almost there -- I think we should switch the version schemes over to semver to better support versioning in the future.
After that change. LGTM
Thanks for your hard work! |
Ping @strega-nil @strega-nil-ms for merge this PR. |
- easier than rewriting history - qt6svg usage will probably be tested by paraview/vtk in the future
Thank you @Neumann-A for seeing this through :) |
@FranciscoPombal Do I break something for you if I directly delete this branch? |
@Neumann-A Nope, feel free to delete it. Kudos! |
This was tested with the experimental vcpkg Qt6 port: microsoft/vcpkg#14333 as well as with the official Qt6 MSVC binary distribution Working with upstream on the vcpkg port of Qt6 is the priority since that is what will be used in CI. What works: - Dynamic and static Debug and Release builds on MSVC with vcpkg. In all 4 cases, installation works correctly, as well as running from the build directory right after the build. - Dynamic Release and Debug builds on MSVC without vcpkg (using zlib, boost and libtorrent compiled from source + qt and openssl precompiled binaries from the official MSVC Qt distribution). Again, running from the build directory and installing works. Current issues when building with the vcpkg Qt6 port: - The problem with CMAKE_FIND_PACKAGE_PREFER_CONFIG (marked with a TODO) has been reported to Qt: https://bugreports.qt.io/browse/QTBUG-93604 The workaround is trivial (just commented out a single line) and harmless for now. What was not tested/touched: - Building with MinGW - Static builds without vcpkg Minor changes: - Bumped minimum Qt version to 6.1.0 - Bumped minimum CMake version to 3.20 due to usage of cmake_path() - The Qt6 Tools component is required for the Qt6::windeployqt target
endif() | ||
|
||
if(NOT "open62541" IN_LIST FEATURES AND NOT "gds" IN_LIST FEATURES) | ||
list(APPEND FEATURE_OPTIONS -DCMAKE_DISABLE_FIND_PACKAGE_WrapOpenSSL=ON) |
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.
Do you know why you have added this?
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.
Because of that the core build is failing with
CMake Warning at /Users/leanderSchulten/git_projekte/vcpkg/scripts/buildsystems/vcpkg.cmake:852 (_find_package):
Found package configuration file:
/Users/leanderSchulten/git_projekte/vcpkg/vcpkg_installed/arm64-osx/share/Qt6Network/Qt6NetworkConfig.cmake
but it set Qt6Network_FOUND to FALSE so package "Qt6Network" is considered
to be NOT FOUND. Reason given by package:
Qt6Network could not be found because dependency WrapOpenSSL could not be
found.
Call Stack (most recent call first):
/Users/leanderSchulten/git_projekte/vcpkg/vcpkg_installed/arm64-osx/share/Qt6/Qt6Config.cmake:157 (find_package)
/Users/leanderSchulten/git_projekte/vcpkg/scripts/buildsystems/vcpkg.cmake:852 (_find_package)
CMakeLists.txt:14 (find_package)
CMake Error at /Users/leanderSchulten/git_projekte/vcpkg/scripts/buildsystems/vcpkg.cmake:852 (_find_package):
Found package configuration file:
/Users/leanderSchulten/git_projekte/vcpkg/vcpkg_installed/arm64-osx/share/Qt6/Qt6Config.cmake
but it set Qt6_FOUND to FALSE so package "Qt6" is considered to be NOT
FOUND. Reason given by package:
Failed to find required Qt component "Network".
Expected Config file at
"/Users/leanderSchulten/git_projekte/vcpkg/vcpkg_installed/arm64-osx/share/Qt6Network/Qt6NetworkConfig.cmake"
exists
Configuring with --debug-find-pkg=Qt6Network might reveal details why the
package was not found.
Configuring with -DQT_DEBUG_FIND_PACKAGE=ON will print the values of some
of the path variables that find_package uses to try and find the package.
Call Stack (most recent call first):
CMakeLists.txt:14 (find_package)
-- Configuring incomplete, errors occurred!
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.
To be sure that all features configure options depending on it get deactivated. However, it was only meant to deactivate toplevel optional calls but that is not how it works. Since then i already removed more than one CMAKE_DISABLE_FIND_PACKAGE_
from the qt ports so if you find another one just remove it but make sure the features are controlled via some other means.
closes #15029
Current Status:
Current questions:
Depends:
vcpkg_copy_tools
[vcpkg_fixup_cmake_targets] Add NO_PREFIX_CORRECTION #12215 (comment). (Corrected it in another way for this PR)