2010-01-26 12 views
9

Estoy usando qmake para construir un proyecto mío. He estado intentando establecer la variable DESTIR de qmake con un valor que depende del compilador utilizado. En realidad, quiero que el binario de mi proyecto, después de haberlo construido, se coloque en un directorio que tenga el nombre del compilador utilizado para compilarlo.Configurando variable DESTDIR en qmake

Algo como esto ... Mi árbol de directorio actual para mi proyecto es

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

yo quería que fuera así

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

¿Puedo hacer esto utilizando qmake?

Respuesta

10

En el archivo src/src.pro, o donde se establece 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/ 

Si no desea establecer la versión del compilador, se puede consultar de forma dinámica. No sé si hay alguna solución general para C++/qmake, pero con g ++ puede usar -dumpversion:

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