-
Notifications
You must be signed in to change notification settings - Fork 1.8k
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: fixes for cross compiling #15678
Closed
Closed
Changes from all commits
Commits
Show all changes
8 commits
Select commit
Hold shift + click to select a range
f9ce537
fixes for cross compiling
sabelka 57f6b8f
cross building fixes
sabelka a11732c
add required Windows system libraries
sabelka d6275c2
cross compile: make native qt tools abailable in cross build
sabelka eaf2308
disable corss compiling dor untested configurations
sabelka 87541c9
Update recipes/qt/6.x.x/conanfile.py
sabelka 10d553f
fix validate
sabelka 8933a05
Merge branch 'master' into qt6-mingw-cross
sabelka File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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.
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.
Unfortunately, this doesn't work. When I remove these options from from configure(), then the native tool are not built and the cross building fails because 'lconvert' is not found.
This happens even when I explicitly request the options from the command line, e.g. with
conan create 6.x.x/conanfile.py 6.4.2@ -pr:b=default -pr:h=mingw-win64 -o=qt:gui=True -o=qt:qttools=True -o=qt:widgets=True --build=missing
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.
Then I don't understand your commit message in 30a0fb3
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.
Well, in the cross-compiling case, two instances of qt are built, because qt has itself as
tool_requires
.The "tool_requires"-qt instance is built with the native tool-chain and requires the
qttools
submodule enabled.When I set
-o qt:qttools=True
or-o:b qt:qttools=True
on the command line of myconan create
command it seems not to get through to the native qt build. Only theqtbase
module is built in the native qt instance. But when I addself.options["qt"].qttools = True
inconfigure(self)
it works and the nativeqttools
module gets compiled.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.
please report this issue on conan : https://github.com/conan-io/conan/issues/new?assignees=&labels=&template=bug.yml&title=%5Bbug%5D+SHORT+DESCRIPTION
Regarding this PR, you have to know that setting option values in
configure(self)
is not enough to be sure that the option values are correct. The problem is that some other package in the dependency graph could change the option afterwards (self.options["qt"].qttools = False
for example). This is why you need to check the option values invalidate(self)
, because at this point you are sure that the option values won't change any more.