|
|||||||
Как в файле Qt-проекта прописать копирование заданных файлов при инсталляции
Время создания: 16.11.2023 10:15
Текстовые метки: c++, Qt, Qt4, Qt5, проект, *.pro, копирование, файл, команда, директива, инсталляция, qmake, make, install, синтаксис
Раздел: Компьютер - Программирование - Язык C++ (Си++) - Библиотека Qt - Инсталляция Qt и сборка проектов
Запись: xintrea/mytetra_syncro/master/base/1700118919pwb7u9lal0/text.html на raw.github.com
|
|||||||
|
|||||||
Бывает так, что при выполнении команды make install необходимо сделать копирование некоторых файлов проекта в какие-либо директории. Сам Makefile, естественно, генерируется через qmake (утилита cmake здесь не рассматривается). Вопрос в том, как в синтаксисе *.pro-файла написать директивы копирования заданных файлов. Объяснение будет делаться на примере проекта, имеющего следующую структуру директорий: cross_package [DIR] features [DIR] scripts [DIR] src [DIR] ourProject.pro Итак, как сделать копирование при выполнении make install? Вначале задается именованный список файлов, которые подлежат копированию. Выполняется это через директиву *.files, где вместо звездочки можно писать любое имя, которое прийдет в голову: Вот как выглядит именованный список с именем features, состоящий из одного файла: features.files = $${PWD}/features/loginWindow.prf Вот как выглядит именованный список с именем installators, состоящий из нескольких файлов: installators.files = \ scripts/install_win.bat \ scripts/install_linux.sh \ scripts/install_macos.sh Переменная $${PWD} обозначает место, где находится *.pro-файл, и в общем случае его можно даже не указывать. Директория назначения, куда будут скопированны файлы, задается через директиву *.path, где вместо звездочки пишется имя именованного списка файлов, показанного выше: features.path = $${PWD}/cross_package/features installators.path = $${PWD}/cross_package Для того, чтобы копирование, наконец, было прописано в Makefile в раздел, ответственный за команду make install, необходимо воспользоваться директивой INSTALLS += ... . В данную переменную добавляются имена именованных списков файлов, подлежащих копированию: INSTALLS += features installators Таким образом, полный код будет выглядеть так: features.files = $${PWD}/features/loginWindow.prf features.path = $${PWD}/cross_package/features installators.files = \ scripts/install_win.bat \ scripts/install_linux.sh \ scripts/install_macos.sh installators.path = $${PWD}/cross_package INSTALLS += features installators Теперь, при запуске команды make install (по сути, это пункт меню "Развертывание" или "Развернуть ..." в Qt Creator), будет происходит копирование заданных файлов. |
|||||||
Так же в этом разделе:
|
|||||||
|
|||||||
|