Important: Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct
Qmake, subdirs, libraries
Lindley last edited by
I'm trying to figure out if there's a good way to improve my qmake build, which right now has some issues.
I have several repositories, each of which builds either a library or an executable. Each of them has a corresponding .pro file. What I would ideally like to do is tell an executable-making .pro which library-making .pro files it depends on.
I tried setting "project dependencies" in my QTCreator session. That helped somewhat but didn't really solve the issue. Next, I tried explicitly adding the build directory and target of each library-making pro to the LIBS variable of the executable-making pro. This allowed the build to work.
However, there's still an issue. If I modify a file in one of the libraries, the executable is not automatically re-linked as it should be.
I have read about the SUBDIRS template in qmake. I have my doubts that this is what I want. I don't fully understand it---is there comprehensive documentation somewhere? But it seems like it's not quite what I need, because I want to be able to have multiple executables all depending on the same libraries, and it's not clear if SUBDIRS allows this.
Subdirs is just a template that allows you to have several separate .pro files bundled together: you run qmake once for the root .pro file, and the rest is built automatically.
For a huge example, simply check out Qt code: all modules are based on qmake SUBDIRS. For a smaller example, take a look at my "QEasyShell":https://github.com/sierdzio/qeasyshell.
If you want other projects be rebuilt when you update a dependency, you need to use DEPENDPATH variable.