There is simply no reason to use this, ever. There's two reasons this might be in your project file:
- you have no idea what you are doing, and you copied it from somewhere else
- you have a target that needs to be built after another target, and you don't know any better
If you fit into category 1, then I hope you're turning red right now, because by using CONFIG+=ordered, you're effectively screwing over multicore builds of your code. See a very nice case of this here.
If you fit into category 2, then you're doing it wrong. You should specify dependencies between your targets properly like this:
TEMPLATE = subdirs SUBDIRS = src plugins tests docs plugins.depends = src tests.depends = src plugins
And then you'll have docs built whenever the build tool feels like it, and the rest built when their dependencies are built.
If you have subdirectories involved in this, then you need an extra level of indirection in your project, but it's still not rocket science:
TEMPLATE = subdirs src_lib.subdir = src/lib src_lib.target = sub-src-lib src_plugins.subdir = src/plugins src_plugins.target = sub-plugins src_plugins.depends = sub-src-lib SUBDIRS = src_lib src_plugins
For those of you wondering why I sound frustrated about this, I've fixed so many instances of this by now that it's just getting old and tired, frankly. And I still keep running into more. That's countless minutes of wasted build time, all because of laziness boiling down to a single line. Please fix it.