Russian Qt Forum

Qt => Установка, сборка, отладка, тестирование => Тема начата: Racheengel от Август 26, 2015, 12:52



Название: QMake - parallel builds
Отправлено: Racheengel от Август 26, 2015, 12:52
Всем привет,

возникла, значит, следующая проблема: есть несколько проектов, как либы, так и конечные exe. Сборка базируется на qmake+nmake (компилятор от Visual Studio 2013). "Основной" проект для билда - pro-файл с TEMPLATE = subdirs, выглядящий примерно так:

TEMPLATE = subdirs

SUBDIRS += lib1
SUBDIRS += lib2
SUBDIRS += lib3

SUBDIRS += exe1
exe1.depends = lib1 lib2

SUBDIRS += exe2
exe2.depends = lib1 lib2 lib3

SUBDIRS += exe3
exe3.depends = lib2 lib3

SUBDIRS += exe4
exe4.depends = lib1 lib3

ну и т.д, основный смысл в том, что множестно exe зависимо от множества lib.
Поэтому нужно, чтобы сначала были созданы либы, а потом уже экзешники.
Это все в принципе работает, но проекты собираются один за другим. Это душит производительность на корню.
Идеально бы было, чтобы все либы собрались параллельно, а только потом так же параллельно собрались бы все exe.
Каким способом можно достить подобного?


Название: Re: QMake - parallel builds
Отправлено: Fregloin от Август 26, 2015, 14:07
а если либы зависят друг от друга?...


Название: Re: QMake - parallel builds
Отправлено: Racheengel от Август 26, 2015, 14:31
Все либы статические, друг от друга не зависят.
Зависят только exe...


Название: Re: QMake - parallel builds
Отправлено: vregess от Август 26, 2015, 17:36
jom (https://wiki.qt.io/Jom) пробовал?


Название: Re: QMake - parallel builds
Отправлено: Racheengel от Август 26, 2015, 17:36
да, но jom проблему не решает :(


Название: Re: QMake - parallel builds
Отправлено: vregess от Август 26, 2015, 18:55
можешь пояснить? вроде он как раз должен параллельно собрать либы, а потом так же параллельно все exe. разве не так?


Название: Re: QMake - parallel builds
Отправлено: Racheengel от Август 27, 2015, 01:08
Нет, к сожалению. Делает то же, что nmake - собирает строго по одному, даже если ему -j указать...


Название: Re: QMake - parallel builds
Отправлено: __Heaven__ от Август 27, 2015, 08:32
Да, он собирает по одному проекту, но используя все ядра процессора.


Название: Re: QMake - parallel builds
Отправлено: Bepec от Август 27, 2015, 08:39
Вариант с запуском n копий nmake вами не рассматривается???


Название: Re: QMake - parallel builds
Отправлено: Racheengel от Август 27, 2015, 12:13
Вариант с запуском n копий nmake вами не рассматривается???

Да в итоге так и сделали. Пришлось тупо через msbuild 2 солюшена собирать, один с либами, другой с экзешниками. Просто хотелось найти "родное" решение, через Creator. Но раз нет, так нет :)