Название: Глобальная переменная в pro-файле Отправлено: enamored от Январь 20, 2010, 18:12 Доброго времени суток всем.
Подскажите как сделать переменную в subdirs-проекте, так чтобы она была известна подпроектам. Есть проект main.pro Код: TEMPLATE = subdirs Хотелось бы пользоваться в подпроектах переменной ROOTPWD. В проекте src.pro: Код: DESTDIR = $$ROOTPWD/bin Название: Re: Глобальная переменная в pro-файле Отправлено: lit-uriy от Январь 20, 2010, 18:15 а если её написать до TEMPLATE = subdirs?
Название: Re: Глобальная переменная в pro-файле Отправлено: enamored от Январь 20, 2010, 18:18 Всё равно не узнает переменную, пробовал.
Название: Re: Глобальная переменная в pro-файле Отправлено: crossly от Январь 20, 2010, 18:22 DEFINES .... читайте мануал по qmake
Название: Re: Глобальная переменная в pro-файле Отправлено: enamored от Январь 20, 2010, 20:02 Причем здесь DEFINES?
Название: Re: Глобальная переменная в pro-файле Отправлено: enamored от Январь 20, 2010, 20:09 Есть такой способ:
~/main/main.pro Код: TEMPLATE = subdirs ~/main/src/src.pro Код: include(../config.pri) ~/main/config.pri Код: ROOTPWD = $$PWD Вывод будет правильным: Код: Выполняется сборка проекта main... Название: Re: Глобальная переменная в pro-файле Отправлено: lit-uriy от Январь 20, 2010, 20:46 PWD - встроенная (предопределённая) переменная, по этому она везде работает, вобщем-то она и должна везде работать, иначе смысл в ней теряется.
Название: Re: Глобальная переменная в pro-файле Отправлено: enamored от Январь 20, 2010, 20:54 lit-uriy, вы без сомнения правы.
Структура проекта может быть довольно сложной. И значения переменной PWD в каждом проекте будет своим. И суть вопроса в том, что нужен способ задать глобальную переменную в одном проекте и предоставить доступ к её значению остальным проектам. Название: Re: Глобальная переменная в pro-файле Отправлено: Dendy от Январь 20, 2010, 23:29 Буду не оригинален: переходите на CMake. Там таких детских проблем нет.
Название: Re: Глобальная переменная в pro-файле Отправлено: SABROG от Январь 21, 2010, 01:27 Может не красиво, но работает:
union.pro Код: defineTest(setGlobalVar){ foo.pro, bar.pro Код: defineReplace(globalVar){ К сожалению это создат переменную навсегда, т.к. qmake не предусматривает команды обратной -set. Т.ч. есть смысл изменить команду на какую-нибудь другую, но чтобы была переносимой. Название: Re: Глобальная переменная в pro-файле Отправлено: enamored от Январь 21, 2010, 10:49 SABROG, тоже вариант.
Спасибо большое всем за помощь. Остановился на включении pri-файла в проект. |