Раньше у меня были шаблоны проектов, когда я кодировал в Visual Studio, но теперь мне нужно использовать Qt Creator и выяснить, что у него есть нечто очень похожее, которое называется «Мастер проектов». Мне нужно иметь текстовый файл, который будет скопирован в папку сборки и решен путем добавления нового шага сборки, но я не могу понять, как добавить новый шаг сборки в файл мастера проекта.
Итак, я взял за основу мастер проекта «plaincpp», и у него нет файлов для изменения cmake. Также я обнаружил, что Qt Creator хранит шаги сборки в файле * .pro.user.
Можете добавить QMAKE_POST_LINK += /path/to/some/script/or/binary
в your_project.pro
файл и напишите простой сценарий bash или все, что вы хотите выполнить, чтобы скопировать ваш файл.
Как указано @ 0x35, вы можете использовать
QMAKE_POST_LINK += <arguments>
поместив его где-нибудь в файле .pro. (В Windows этот метод иногда требует очистки в первую очередь).
Другие аргументы для рассмотрения, как подразумевается в комментариях @hoholok (и некоторые исследования):
$$OUT_PWD
а также $$PWD
$$_PRO_FILE_PWD_
../
например: $${OUT_PWD}/../otherFolder/
Для Windows Пользователь в каталогах, указанных выше, использует косую черту. Это в свою очередь приводит к сбою сборок. Передние косые черты должны быть превращены в две обратные косые черты. ex (работает в файле решения .pro):
Directory_to_Use = some_Directory #initialization for linux directory
PWD_WIN = $${OUT_PWD} #Set PWD_WIN to output directory
win32 # this code only executes on a windows machine
{
Directory_to_Use = C:\\_Dev\\Qt\5.9.1\\mingw53_32\\bin #change linux path to the windows path
PWD_WIN ~= s,/,\\,g #change all forward slashes into double backslashes
}
QMAKE_POST_LINK += COPY $$Directory_to_Use\\Qt5* $$PWD_WIN\\debug #command that works on both linux and windows
Этот фрагмент кода примера копирует все библиотеки Qt из моего установленного каталога Qt в каталог сборки проекта.
Если после сборки требуется выполнить более одной команды, просто добавьте другую QMAKE_POST_LINK += <arguments>
или даже поместите его в цикл for, как здесь:
цикл в файле .pro.