-
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
Conversation
🤖 Beep Boop! This pull request is making changes to 'recipes/qt//'. 👋 @ericLemanissier you might be interested. 😉 |
I detected other pull requests that are modifying qt/6.x.x recipe:
This message is automatically generated by https://github.com/ericLemanissier/conan-center-conflicting-prs so don't hesitate to report issues/improvements there. |
This comment has been minimized.
This comment has been minimized.
c12876d
to
53e21a8
Compare
This comment has been minimized.
This comment has been minimized.
Hooks produced the following warnings for commit 53e21a8qt/6.3.2
qt/6.2.4
qt/6.4.2
qt/6.4.1
|
This comment has been minimized.
This comment has been minimized.
29fca93
to
5892363
Compare
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
Hooks produced the following warnings for commit 8e41741qt/6.4.2
qt/6.4.1
qt/6.2.4
qt/6.3.2
|
7ca272e
to
381dcab
Compare
This comment has been minimized.
This comment has been minimized.
Hooks produced the following warnings for commit 381dcabqt/6.3.2
qt/6.4.2
qt/6.4.1
qt/6.2.4
|
This comment has been minimized.
This comment has been minimized.
# If we are cross-compiling we need to enable these options primarily | ||
#for the _native_ Qt build, because the builing Qt with the cross | ||
# compiler requires the native Qt tools | ||
if cross_building(self): | ||
self.options["qt"].qttools = True | ||
self.options["qt"].gui = True | ||
self.options["qt"].widgets = True | ||
|
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.
# If we are cross-compiling we need to enable these options primarily | |
#for the _native_ Qt build, because the builing Qt with the cross | |
# compiler requires the native Qt tools | |
if cross_building(self): | |
self.options["qt"].qttools = True | |
self.options["qt"].gui = True | |
self.options["qt"].widgets = True |
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 my conan create
command it seems not to get through to the native qt build. Only the qtbase
module is built in the native qt instance. But when I add self.options["qt"].qttools = True
in configure(self)
it works and the native qttools
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 in validate(self)
, because at this point you are sure that the option values won't change any more.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This pull request has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions. |
This pull request has been automatically closed because it has not had recent activity. Thank you for your contributions. |
Specify library name and version: qt/6.4.2