Russian Qt Forum

Qt => Qt-инструментарий => Тема начата: Dancing_on_water от Декабрь 14, 2012, 15:56



Название: [РЕШЕНО]Бардак в CONFIG c debug и release и что с этим делать?
Отправлено: Dancing_on_water от Декабрь 14, 2012, 15:56
Стоит задача: скомпилировать с разными именами файл библиотеку для релизной и дебажной версии.

Казалось, что может быть проще:

unix::debug{
TARGET += named
}
unix::release{
TARGET += name
}

Но не тут-то было, на поверку оказалось, что получаем два экземпляра одного и того же.

Смотрим, что в CONFIG (релизный запуск)

lex yacc warn_on debug uic resources qt warn_on release incremental link_prl gdb_dwarf_index def_files_disabled exceptions no_mocdepend release stl qt_no_framework shared

Как видно, в конфиге есть упоминание и debug и release. В доке написано, что release игнорируется, если определен debug. Но я не зря дал конфиг релизной сборки: debug определен, но собирается release.

В связи с этим вопрос как мне оперделить какая сборка собирается: дебажная или релизная?

P.S. В винде все еще хуже(хотя пока работает вариант с DebugBuild\ReleaseBuild)


Название: Re: Бардак в CONFIG c debug и release и что с этим делать?
Отправлено: mutineer от Декабрь 14, 2012, 16:01
Цитировать
build_pass:CONFIG(debug, debug|release) {
     unix: TARGET = $$join(TARGET,,,_debug)
     else: TARGET = $$join(TARGET,,,d)
 }
вот такой пример из доки не решает проблему?


Название: Re: Бардак в CONFIG c debug и release и что с этим делать?
Отправлено: Dancing_on_water от Декабрь 14, 2012, 16:12
Странно, решает (если выкинуть build_pass). Я думал, что это аналогично

debug{
}

Будем знать