Как указать входную переменную установки QMake?


В моем проекте Qt я пытаюсь копировать библиотеки как часть процесса сборки. Цель состоит в том, чтобы иметь готовый дистрибутив после сборки со всеми необходимыми динамическими библиотеками.

Это кажется достижимым с переменной INSTALLS, но я нахожу документацию немного тонкой: Ссылка на переменную qmake: устанавливает

В приведенном примере:

  • является ли target уже определенным или определяется путем записи target.path =?
  • где находится документация для возможного члены клуба? .path и...?
2 20

2 ответа:

Да, документы здесь очень нужны.

target уже определено, но это частный случай. Вы можете определить свои собственные дополнительные наборы развертывания. Вот как мы определяем Плагины формата изображения:

imageformats.path = /opt/some/path/bin/imageformats
imageformats.files += $$[QT_INSTALL_DATA]/plugins/imageformats/*.so
INSTALLS += imageformats

Вот минимальная документация о трех командах: http://doc.qt.io/qt-4.8/qmake-environment-reference.html#installs

yourset.path = /path/in/which/to/install/files
yourset.files = /files/to/install
yourset.extra = custom commands to run, eg. `touch somefile.txt`
INSTALLS += yourset

target это любая строка, которую вы хотите использовать. Это ваш собственный идентификатор.

target.files определяет, что вы хотите установить.

target.path это место (каталог), в которое вы хотите поместить target.files.

Например, у меня есть файл под названием "config.xml", который я хочу скопировать в каталог "xyzzy". Я бы использовал следующее В моем файле qmake .pro, чтобы указать это.

my_file.files = config.xml
my_file.path = xyzzy

INSTALLS += my_file

Кстати, чтобы действительно сделать копию файла, вам придется выполнить make install.

Вы также можете найти ответ, полезный для понимания: скопируйте файл в каталог сборки .