-
Notifications
You must be signed in to change notification settings - Fork 3
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
features should be installed into /usr/lib/qt5/mkspecs/features #5
base: master
Are you sure you want to change the base?
Conversation
root.pro
Outdated
@@ -2,7 +2,11 @@ TEMPLATE = subdirs | |||
|
|||
SUBDIRS = src tests type-to-cxx | |||
|
|||
prf.path = $$[QT_INSTALL_DATA]/mkspecs/features | |||
greaterThan(QT_MAJOR_VERSION, 4) { | |||
prf.path = $$[QT_HOST_DATA]/mkspecs/features |
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? Generally all the mkspecs are in the existing path.
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 am not sure where are defined paths to include mkspec features. In my case, in in Manjaro, the path /usr/share wasn't working, but /usr/lib did. I must admit that I wasn't able to find relevant documentation. Then I have tried to some examples on github. It seems the other projects are using QT_HOST_DATA variable. In one of projects I have found with greaterThan(QT_MAJOR_VERSION, 4). My conclusion was, that the QT_INSTALL_DATA is there because of compatibility with previous version Qt. Obviously, I am not sure about it anymore.
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.
Where mkspecs are installed is set at build time. For example for Qt6 it is done by defining INSTALL_MKSPECSDIR
.
For our Qt that directory will be in /usr/share because we install the contents for archdatadir into "%{_datadir}/qt5" while all others install into %{_libdir}/qt5
So the bug is inside our Qt5 package why it didn't came up earlier. The right QMake variable in this case is QT_INSTALL_ARCHDATA
.
Docs can be found here:
https://doc.qt.io/qt-5/qmake-environment-reference.html
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.
Also please correct the commit message. It is not about /usr/lib but about QT_INSTALL_ARCHDATA, /usr/lib is just the path on some of the hosts but not all.
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 wasn't able to find the right value in documentation. I was following implementation in other project, which was obviously wrong. Thanks for finding out. The commit was updated accordingly.
updated to 0.19.14 |
It seems the *.prf files are currently installed into /usr/share/qt5/mkspecs/features, but in my opinion it should be in /usr/lib/qt5/mkspec/features.
The dark side is that
CONFIG += iodata-qt5
silently fails - doesn't update LIBS variable and doesn't complain about missing config file