GNU make --jobs opção no QMake
Pergunta
Eu estou usando qmake para gerar Mingw32 Makefiles para um pequeno aplicativo Qt C ++ estamos desenvolvendo. Meu problema: todos os CPUs dual core / quad está sentado lá de braços cruzados enquanto apenas um thread está fazendo o edifício. A fim de coisas paralelizar tentei passar --jobs 4 para fazer, mas o problema é que qmake gera um dentro makefile genérica de que fazem é chamado novamente com -f.
É possível forçar qmake para adicionar opções para fazer ao gerar o makefile? Ou talvez não há outra maneira de definir o exterior opção de qmake completamente? Eu não posso edição que específica Makefile uma vez que é gerada automaticamente cada construção.
Solução
Abusando $MAKE
passar as opções não funciona em todos os casos. Muitas vezes, (por exemplo, no script configure do Qt no Unix), está entre aspas ("$MAKE"
) para permitir que o comando para conter espaços. Eu sei porque eu usei o mesmo truque antes que ele parou de funcionar. Suporte Qt então sugeriu (legitimamente) para uso $MAKEFLAGS
como em
set MAKEFLAGS=-j4
make
Outras dicas
Isso funciona para mim:
set MAKE_COMMAND = mingw32-make -j% number_of_processors%
O Makefile genérico usa $(MAKE)
ao invocar marca, para que possa substituí-lo utilizando variáveis ??de ambiente. Algo como isso deve fazê-lo:
qmake
make MAKE="mingw32-make -j4"
Substitua os valores de MAKE
conforme exigido é claro:)