Qmake в режиме выпуска и отладки


У меня есть библиотека, и я хотел бы, чтобы она скопировала себя в каталог в зависимости от того, в какой конфигурации я нахожусь (debug или release). Вот мой файл проекта.

#-------------------------------------------------
#
# Project created by QtCreator 2011-08-13T12:48:33
#
#-------------------------------------------------

TARGET = JECLibrary
TEMPLATE = lib

DEFINES += JECLIBRARY_LIBRARY

SOURCES += 
    JECMessageText.cpp 
    JECMessageCombo.cpp 
    JECButton.cpp

HEADERS +=
        JECLibrary_global.h 
    JECMessageText.h 
    JECMessageCombo.h 
    JECButton.h

CONFIG(debug, debug|release)
{
    DLLDESTDIR += $$quote(../../../Jane/Jane/Build/debug)
    message("Copying to Jane Debug Directory.")
}
CONFIG(release, debug|release)
{
    DLLDESTDIR += $$quote(../../../Jane/Jane/Build/release)
    message("Copying to Jane Release Directory.")
}

FORMS += 
    JECMessageText.ui 
    JECMessageCombo.ui

По какой-то причине DLL отладки или выпуска копируются воба каталога вместо одного. Так что если я запускаю в режиме релиза, я получаю релиз DLL в каталог отладки и выпуска каталога.

Я совершенно запутался. Может ли кто - нибудь пролить на это свет? Спасибо

1 2

1 ответ:

Открывающая скобка должна находиться на той же линии, что и условие:

CONFIG(debug, debug|release) {
    DLLDESTDIR += $$quote(../../../Jane/Jane/Build/debug)
    message("Copying to Jane Debug Directory.")
}
CONFIG(release, debug|release) {
    DLLDESTDIR += $$quote(../../../Jane/Jane/Build/release)
    message("Copying to Jane Release Directory.")
}

Или

CONFIG(debug, debug|release) {
    DLLDESTDIR += $$quote(../../../Jane/Jane/Build/debug)
    message("Copying to Jane Debug Directory.")
} else {
    DLLDESTDIR += $$quote(../../../Jane/Jane/Build/release)
    message("Copying to Jane Release Directory.")
}

Но оба сообщения будут отображаться, потому что файлы Makefile.Отладка и Makefile.Оба выпуска создаются при запуске qmake (в Windows или при добавлении debug_and_release в переменную CONFIG на других ОС).