20

How can i override default make parameters , which is:

make -w

Each time i create a project , i had to modify project settings , adding -j4 to make parameters.

Can i set make -w -j4 by default ?

EDIT

The best way to do this is setting MAKEFLAGS environment variable , i'm picking the only answer as the best only to shut this thread down.

To set this for UNIX, modify the *.desktop file of Qt Creator , prefix the line entitled Exec= with env MAKEFLAGS=-j4 , but be aware that you won't be able to cease building in QtCreator immediately after setting to multithread.

daisy
  • 22,498
  • 29
  • 129
  • 265
  • Hint: you can simply write `-j`, it chooses the number of threads automatically, which you typically want (maybe not always). – leemes Jul 13 '14 at 13:14
  • 2
    @leemes this is often dangerous, for with complex cmake-generated projects this turns into a fork bomb and crashes my PC. – ansgri Aug 16 '15 at 12:12

4 Answers4

26

To make it global and permanent go to

Tools > Options > Build & Run > Kits > (pick your toolchain) 

and fill your predefined env settings: MAKEFLAGS=-j4

Screenshot what to click exactly

asu
  • 1,875
  • 17
  • 27
dimril
  • 398
  • 3
  • 7
23

In the qtcreator go to the "Projects tab" and set "Make arguments" as you like: enter image description here

Neox
  • 2,000
  • 13
  • 12
12

If you want -jx parameter to be default each time you create a new or open some project, you must add enviroment variable MAKEFLAGS to your system with value -jx.

For example, at ubuntu for 8 - threding compilation this options can be realized by adding

MAKEFLAGS="-j8"

to /etc/enviroments

Result will be: enter image description here

MTS
  • 129
  • 1
  • 4
  • 1
    Hint: you can simply write `-j`, it chooses the number of threads automatically, which you typically want (maybe not always). – leemes Jul 13 '14 at 13:15
  • I tried "-j". It doesn't work. It says: "no process count specified for option -j" – user1914692 Jan 18 '16 at 17:26
2

After attempting implement the fix described in the question I eventually found the following (clearly this in only a solution to linux's that use the freedesktop concept of .desktop files):

The line in "/usr/local/share/applications/Nokia-QtCreator.desktop" was:

Exec=/opt/qtcreator-2.5.2/bin/qtcreator.sh %F

I changed it to:

Exec=env MAKEFLAGS=-j16 /opt/qtcreator-2.5.2/bin/qtcreator.sh %F

And got the functionality requested in the question.

Ok, I have no idea why following the instructions in the question I didn't get there but I didn't. I hope this explanation will help someone.

LovesTha
  • 1,663
  • 1
  • 14
  • 17
  • Hint: you can simply write `-j`, it chooses the number of threads automatically, which you typically want (maybe not always). – leemes Jul 13 '14 at 13:16
  • I find that -j selects a number slightly too low for optimal compile speed. -j is close enough, but I like as fast as possible. – LovesTha Jul 21 '14 at 03:25