Переменные, которые сохраняются в файлах .pro из файла subdirs pro

Привет,

У меня есть файл .pro, который выглядит так:

TEMPLATE = subdirs
SUBDIRS = foo bar

Я хочу установить переменную, определить или что-то еще в моем файле subdirs .pro, который можно прочитать как в файлах foo, так и в bar .pro.

Я попытался установить переменную среды с помощью:

export TEST=something

но это не работает, message($$(TEST)) всегда ничего не показывает (например, TEST не установлен).


person Dan O    schedule 20.09.2009    source источник
comment
Кстати, я использую OS X 10.4.   -  person Dan O    schedule 20.09.2009
comment
lists.trolltech.com/qt-interest/2005-02/ thread00337-0.html кажется возможностью делать то, что я хочу!   -  person Dan O    schedule 20.09.2009
comment
Ответ трубадуров может ответить на вопрос, который вы имели в виду, но он не отвечает на вопрос, который вы разместили (что гораздо интереснее). user176164 был на правильном пути. Но правильный ответ есть у Мэтта, см. здесь.   -  person Patrick Fromberg    schedule 16.07.2019


Ответы (2)


Другой вариант — поместить общие переменные в файл с именем «.qmake.cache», хранящийся в корневом каталоге проекта. Таким образом, вам не нужно включать какие-либо файлы .pri в проекты subdir.

person Community    schedule 20.09.2009
comment
Тот факт, что это будет скрытый файл в моей операционной системе, немного неприятный, но, по крайней мере, мне не нужно портить мои проекты подкаталогов странными включениями, спасибо! - person Dan O; 20.09.2009
comment
Это безумие! :) +1 - person Яois; 18.09.2014

Просто поместите их в общий файл .pri, например. common.pri и используйте собственный синтаксис включения qmake, чтобы включить его, т.е.

include(path/common.pri)

где path — это путь к common.pri относительно включающего .pro-файла.

person Troubadour    schedule 20.09.2009
comment
В конце концов я сделал это, потому что qmake ищет только .qmake.cache в текущем каталоге или его родительском каталоге. Это было слишком ограничивающим для меня. - person Dan O; 21.09.2009