Название: скопировать файлы в папку приложения после сборки Отправлено: kambala от Июнь 09, 2012, 19:51 Здравствуйте. Что нужно прописать в .pro, чтобы скопировать некоторые файлы/папки к собранному бинарнику? Цель: просто нажать кнопку "построить" в креаторе для релиз-сборки и все указанные файлы сами скопируются. В моём примере нужно из папки resources/translations скопировать все *.qm, а также скопировать всю папку resources/data (содержит как файлы, так и папки) за исключением папки resources/data/items. При этом структура папок должна сохраниться (т.е. выходная папка будет содержать *.exe и папку resources с необходимым содержимым). В идеале — ещё и скопировать Qt'шные дллки.
В visual studio 2010 добился этого, дописав в конец файла .vcxproj следующее: Код: <Target Name="AfterBuild" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> Первое, что я попробовал для .pro — это INSTALLS: Код: CONFIG(release, debug|release) { Дальше начал гуглить и наткнулся на ещё два решения: http://stackoverflow.com/questions/3984104/qmake-how-to-copy-a-file-to-the-output (выглядит довольно ужасно) и http://stackoverflow.com/questions/3851471/including-resource-files-in-qt-creator-build-directory (совсем другое дело, но требует платформо-зависимых вызовов команд — не большая трагедия, но всё же). Для Mac OS X есть переменная QMAKE_BUNDLE_DATA, которая должна "срабатывать" и без make install (ещё не пробовал), а в Xcode там вообще копируемые файлы настраиваются через свойства проекта. Название: Re: скопировать файлы в папку приложения после сборки Отправлено: once_again_abc от Июнь 10, 2012, 03:32 странно, почему бы не использовать обычный скрипт (.bat,bash) для таких целей? например я бы написал .bat и прикрепил бы его к отдельной кнопке Tools -> External Tools.
Название: Re: скопировать файлы в папку приложения после сборки Отправлено: kambala от Июнь 10, 2012, 03:56 если я правильно понимаю, то вызов скрипта не во время процесса сборки не даст нужных переменных окружения типа выходной папки. хотя по идее вызов скрипта можно подцепить в QMAKE_POST_LINK...
кстати QMAKE_BUNDLE_DATA отрабатывает на ура, жаль только нельзя указать какие папки исключить из копирования. Название: Re: скопировать файлы в папку приложения после сборки Отправлено: Alex Custov от Июнь 11, 2012, 13:53 что-то типа этого, но для mingw, т.к. используется DESTDIR_TARGET. Для вижуала надо смотреть, но общая мысль ясна (в принципе ты уже сам ответил)
Код: # escape command to allow multiple lines in Makefile Название: Re: скопировать файлы в папку приложения после сборки Отправлено: kambala от Июнь 11, 2012, 17:24 спасибо, попробую
Название: Re: скопировать файлы в папку приложения после сборки Отправлено: Igors от Июнь 11, 2012, 17:36 По ходу дела смежный вопрос. OSX, Xcode. Прямолинейное помещение .dylib не помогает - ни в папку, ни в мамку (bandle). Пытался разгуглить, вроде надо устанавливать LD_xxx (не помню точно) то ли в окружении проекта то ли где. Помню делал все точно по инструкции - но .dylib никак не находился.
Если победили/разобрались - напишите как. Хотя сиюминутной необходимости нет, это знать полезно Спасибо Название: Re: скопировать файлы в папку приложения после сборки Отправлено: kambala от Июнь 11, 2012, 17:51 если не ошибаюсь, то нужно использовать install_name_tool для привязки библиотек к бинаринку (сам лично не пользовался). недавно кто-то (кажется ecspertiza) уже задавал вопрос по этому поводу.
|