Autogen: Factor out concurrency framework in cmQtAutoGeneratorMocUic to cmWorkerPool
This factors out the concurrency framework in cmQtAutoGeneratorMocUic
to a
dedicated class cmWorkerPool
which might be reused in other places.
cmWorkerPool
supports fence jobs that require that
- all other jobs before in the queue have been processed before the fence job processing gets started,
- no jobs later in the queue will be processed before the fence job processing has been completed.
Fence jobs are needed where the completion of all previous jobs in the queue
is a requirement for further processing. E.g. in cmQtAutoGeneratorMocUic
the generation of mocs_compilation.cpp
requires that all previous
source file parse jobs have been completed.
A new QtAutogen/ManySources
test stresses the concurrency framework.
Edited by Sebastian Holtermann