Как установить другую конфигурацию qmake в зависимости от отладки/выпуска?

Мне нужно указать разные выходные и промежуточные папки в моем файле .pro для отладки и выпуска. Я создал следующий тестовый файл .pro:

release {
  message( "release" )
}
debug {
  message( "debug" )
}

Но компиляция этого .pro файла в Qt Creator с конструкцией "debug" приводит к следующему выводу:

Project MESSAGE: release
Project MESSAGE: debug

Кажется, что условия "отладки" и "выпуска" установлены на True O_O. Возможно ли каким-либо образом обрабатывать отладочные и выпускные сборки отдельно в qmake?

Ответ 1

В соответствии с руководство qmake:

CONFIG(release, debug|release) {
  message( "release" )
}
CONFIG(debug, debug|release) {
  message( "debug" )
}

Я действительно не понимаю объяснений. Кажется, что оба варианта действительно выбраны, и только один из них "активен". Но qmake славится противоречивыми вещами.

Ответ 2

Try:

CONFIG(debug, debug|release){
message("debug")
} else {
message("release")
}

qmake отобразит "debug", если вы строите проект в режиме debug или debug|release, в противном случае (то есть: если вы создаете его в режиме release), сообщение "release" будет показано.