2010-01-26 7 views
9

Sto usando qmake per la costruzione di un mio progetto. Ho cercato di impostare la variabile DESTIR di qmake con un valore che dipende dal compilatore utilizzato. In realtà, voglio che il file binario del mio progetto, dopo essere stato compilato, venga inserito in una directory che ha il nome del compilatore utilizzato per crearlo.Configurazione della variabile DESTDIR in qmake

qualcosa di simile ... Il mio albero di directory corrente per il mio progetto è

 
- Project 
| - src 
| - include 
| - bin 
| |- binary_file 

ho voluto che fosse come questo

 
- Project 
| - src 
| - include 
| - bin 
| | - gcc-4.3.4 
| | |- binary_file 

Posso farlo usando qmake?

risposta

10

Nel file src/src.pro, o dovunque si imposta la DESTDIR

# compiler used 
QMAKE_CXX = g++-4.3 
# PROJECT_ROOT defined in .qmake.cache as $$PWD, in the Project root directory 
DESTDIR = $$PROJECT_ROOT/bin/$$QMAKE_CXX/ 

Se non si desidera impostare la versione del compilatore, è possibile interrogare in modo dinamico. Non so se esiste una soluzione generale C++/qmake per questo, ma con g ++ puoi usare -dumpversion:

CXX_VERSION = $$system($$QMAKE_CXX -dumpversion) 
DESTDIR=$$PROJECT_ROOT/bin/$$QMAKE_CXX-$$CXX_VERSION/