[QMake] Définir un nouveau mode de compilation
Bonjour à tous,
J'essaye de me faire la main sur le système de build de Qt.
J'aimerais faire plusieurs type de compilation. A savoir:
Debug, Release, DebugRelease & x86, x64.
J'ai compris que QMake créer 2 type de build "debug" et "release". J'aimerais en créer une 3ème "debugrelease" qui est simplement une release avec information de debug. (CONFIG+= force_debug_info).
J'ai donc un .pro tout simple contenant:
Code:
1 2 3 4 5 6
|
CONFIG(debug,debug|debugrelease|release):DESTDIR=$$PWD/../../Bin/x86/Debug
else:CONFIG(release,debug|debugrelease|release):DESTDIR=$$PWD/../../Bin/x86/Release
else:CONFIG(debugrelease,debug|debugrelease|release):DESTDIR=$$PWD/../../Bin/x86/DebugRelease
message($$DESTDIR) |
Pour compiler en debug je lance: qmake.exe "..\..\Source\GUI\GUI.pro" -spec win32-msvc2015 "CONFIG+=debug" && nmake
Pour compiler en release je lance: qmake.exe "..\..\Source\GUI\GUI.pro" -spec win32-msvc2015 "CONFIG+=release" && nmake
Pour compiler en debugrelease je lance: qmake.exe "..\..\Source\GUI\GUI.pro" -spec win32-msvc2015 "CONFIG+=debugrelease" && nmakeOr je m’aperçois que :
* Pour debug:
Le message apparait 3 fois avec 2 valeurs différentes:
Citation:
1> Project MESSAGE: {...}/GUI/../../Bin/x86/Debug
1> Project MESSAGE: {...}/GUI/../../Bin/x86/Debug
1> Project MESSAGE: {...}/GUI/../../Bin/x86/Release
* Pour debugrelease:
Le message apparait 3 fois avec 3 valeurs différentes:
Citation:
1> Project MESSAGE: {...}/GUI/../../Bin/x86/DebugRelease
1> Project MESSAGE: {...}/GUI/../../Bin/x86/Release
1> Project MESSAGE: {...}/GUI/../../Bin/x86/Debug
* Pour release :
Le message apparait 3 fois avec 2 valeurs différentes:
Citation:
1> Project MESSAGE: {...}/GUI/../../Bin/x86/Release
1> Project MESSAGE: {...}/GUI/../../Bin/x86/Release
1> Project MESSAGE: {...}/GUI/../../Bin/x86/Debug
J'ai compris que un souci vient du fait que qmake va créer 2 makefile (Debug et Release), mais alors pourquoi appeler 3 fois le .pro et pas 2 fois?
Serait-il possible de créer un makefile DebugRelease?
Si vous avez déjà eu ce souci, comment l'avez vous résolu?
Merci