How to configure only what's necessary for a specific module.
-
If I wanted to only build say,
QtQml
, but I have the entire qt (5.14) source code, what flags can I pass to the configure script to havenmake
only produce what's necessary forQtQml
?I'm also confused as to how I identify what modules produce what libraries. This was particularly confusing with
QtGui
, I think it's theQtBase
module that produces it, but am still not sure. Where can I find this information? -
@SGaist Ah ok, so to sum it all up.
- In order to identify what module will build which specific library, you should check the dev branches on https://code.qt.io/ or inspect the source code of the module
- In order to build a specific module, you have to either use the
configure
/configure.bat
scripts and pass-skip
for every module except the ones you want. From there runningmake && make install
will build the desired modules- Additionally, you could run the
configure
script with no-skip
arguments and runmake module-<name> && make module-<name>-install_subtargets
to build the desired modules.
- Additionally, you could run the
Is that correct?
-
You can create a module (and it's dependencies) by calling 'make module-<module-name>' (e.g. make module-qtmultimedia)
Where can I find this information?
By looking into the sources.
-
This post is deleted!
-
Hi,
In the dev branch you have the information in the dependencies.yaml file. This one is for the QtDeclarative module.
You have the --skip option to remove modules from the build list.
Otherwise, you can start with only qtbase and then manually build the modules you need.
-
@Christian-Ehrlicher But
QtQml
andQtGui
aren't modules. Is there no way to figure out what will produce those libraries other than digging through source code?Also tagging @SGaist
-
qtbase provides the essential modules like QtCore, QtGui etc.
Most of the other modules provide the modules matching their name with a couple of exceptions like qtdeclarative which provides QtQML.
-
@SGaist Interesting, I'm not seeing any
dependencies.yaml
files in any of the modules in https://github.com/qt/qt5 Is there something that generates those? -
It's in the dev branch.
By the way, github is only a mirror. The code resides at https://code.qt.io
-
@SGaist Ah ok, so to sum it all up.
- In order to identify what module will build which specific library, you should check the dev branches on https://code.qt.io/ or inspect the source code of the module
- In order to build a specific module, you have to either use the
configure
/configure.bat
scripts and pass-skip
for every module except the ones you want. From there runningmake && make install
will build the desired modules- Additionally, you could run the
configure
script with no-skip
arguments and runmake module-<name> && make module-<name>-install_subtargets
to build the desired modules.
- Additionally, you could run the
Is that correct?
-
The information is more clearly available now with the dev branch (which is Qt 6 development).
A third option is to build qtbase first and then the other modules.