Ancienne question, mais qui mérite toujours une réponse à jour. Aujourd'hui, il est courant de faire ce que Qt Creator fait lorsque des builds shadow sont utilisés (ils sont activés par défaut lors de l'ouverture d'un nouveau projet).
Pour chaque cible et type de build différents, le droit qmake
est exécuté avec les bons arguments dans un répertoire de build différent. Ensuite, cela est simplement construit avec simple make
.
Ainsi, la structure de répertoires imaginaire pourrait ressembler à ceci.
/
|_/build-mylib-qt5-mingw32-debug
|_/build-mylib-qt5-mingw32-release
|_/build-mylib-qt4-msvc2010-debug
|_/build-mylib-qt4-msvc2010-release
|_/build-mylib-qt5-arm-debug
|_/build-mylib-qt5-arm-release
|_/mylib
|_/include
|_/src
|_/resources
Et la chose importante est, a qmake
est exécuté dans le répertoire de construction:
cd build-mylib-XXXX
/path/to/right/qmake ../mylib/mylib.pro CONFIG+=buildtype ...
Ensuite, il génère des makefiles dans le répertoire de construction, puis make
des fichiers génère également des fichiers sous celui-ci. Il n'y a aucun risque que différentes versions se mélangent, tant que qmake n'est jamais exécuté dans le répertoire source (si c'est le cas, mieux vaut bien le nettoyer!).
Et une fois fait comme ça, le .pro
fichier de la réponse actuellement acceptée est encore plus simple:
HEADERS += src/dialogs.h
SOURCES += src/main.cpp \
src/dialogs.cpp