Important: Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

Building subdirs in one build.



  • Hello,

    I am a bit new to QT, but so far I really like what i see.
    I am working on a project where there is 25-30 subdirs which is being build with qmake.
    I have a question about the way qmake is building all this.
    It seems to me that qmake is building every subdir separately.
    If that is right; is there a way to make qmake see it at one big project and build it all at once?
    I am asking because we tried to use ICECC (https://github.com/icecc/icecream) to build with, but ICECC is not very efficient when building small projects (the subdirs).

    I hope that you can make me a bit wiser on how buildsystems work.

    With kind regards
    Bryan


  • Moderators

    Yes, qmake treats all subdirs separately. Try adding CONFIG+=ordered maybe it will help a bit, although I doubt it.

    Alternatively, rewrite your project to include your subdirs as .pri files instead (it may be impossible, though - depends on details about your project).

    Alternatively again - use cmake.


  • Lifetime Qt Champion

    @sierdzio

    Please don't recomment CONFIG+=ordered. With CONFIG+=ordered you will destroy all parallel building.

    See: https://blog.rburchell.com/2013/10/every-time-you-configordered-kitten-dies.html

    @Brian-S : The link above explains how to create ordering dependencies for you subdirs project.

    At least when building local, multiple subdirs can run in parallel if the dependency chain is correctly set up and the projects don't depend on each other. Don't know how that works with ICECC, though.

    Regards


  • Moderators

    OK, thanks for info. I knew the danger but thought it might help in this case.


Log in to reply