Russian Qt Forum
Ноябрь 24, 2024, 03:25 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Вопрос по qmake, переменная DESTDIR  (Прочитано 15167 раз)
UVV
Гость
« : Ноябрь 09, 2008, 09:39 »

Есть у него такая переменная как DESTDIR.
Возможно ли как-то организовать поведение этой переменной на подобие autotools?
Т.е. чтобы make install DESTDIR=/my/dir приводило к желаемому результату?
« Последнее редактирование: Ноябрь 09, 2008, 10:36 от UVV » Записан
pastor
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 2901



Просмотр профиля WWW
« Ответ #1 : Ноябрь 09, 2008, 12:45 »

Советую заглянуть в qmake Variable Reference.  Есть такая переменная как INSTALLS. имхо, то что нужно тебе:

Цитировать
INSTALLS

This variable contains a list of resources that will be installed when make install or a similar installation procedure is executed. Each item in the list is typically defined with attributes that provide information about where it will be installed.

For example, the following target.path definition describes where the build target will be installed, and the INSTALLS assignment adds the build target to the list of existing resources to be installed:

target.path += $$[QT_INSTALL_PLUGINS]/imageformats
INSTALLS += target
Записан

Integrated Computer Solutions, Inc. (ICS)
http://www.ics.com/
Hort
Гость
« Ответ #2 : Ноябрь 09, 2008, 22:53 »

Цитировать
target.path += $$[QT_INSTALL_PLUGINS]/imageformats
INSTALLS += target
я так понимаю это значит (только?) скомпилированный файл помещается в каталог target.path? а как сделать чтобы вместе с ним помещались и другие файлы? напимер файлы перевода и иконки программы?
Записан
pastor
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 2901



Просмотр профиля WWW
« Ответ #3 : Ноябрь 10, 2008, 12:00 »

я так понимаю это значит (только?) скомпилированный файл помещается в каталог target.path? а как сделать чтобы вместе с ним помещались и другие файлы? напимер файлы перевода и иконки программы?

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

Код:
include.files = ../include/*.h 
include.path = $$[QT_INSTALL_HEADERS]/$$INSTALL_INCLUDE_SUFFIX
INSTALLS += include

ЗЫ: Здесь "include" это произвольное имя.
Записан

Integrated Computer Solutions, Inc. (ICS)
http://www.ics.com/
Hort
Гость
« Ответ #4 : Ноябрь 12, 2008, 17:25 »

а можно както сделать make для двух проектов сразу. Просто у меня прога состоит из двух исполняемых файлов. делаю qmake в каталоге с общим .pro файлом - вроде все ок, а когда делаю make там же - пишет нет нормальных Makefile'ов. приходится вереходить в подкаталоги и для каждого делать отдельно make.
Записан
spirit
Гость
« Ответ #5 : Ноябрь 12, 2008, 17:30 »

для этого нужно создать про-файл с дерективой TEMPLATE = subdirs
пример,
Цитировать
SUBDIRS  = lib1 \
           lib2 \
           app1 \
           app2
Записан
Hort
Гость
« Ответ #6 : Ноябрь 12, 2008, 17:35 »

у меня он и есть
Код:
TEMPLATE = subdirs
SUBDIRS = _editor \
          _tester
qmake на него реагирует а make - нет
Записан
spirit
Гость
« Ответ #7 : Ноябрь 12, 2008, 17:44 »

че даже если вызвать
qmake
make
в каталоге с этим профайлом , то не хавает?
как-то подозрительно. должно работать. у меня работает.
Записан
Hort
Гость
« Ответ #8 : Ноябрь 12, 2008, 18:24 »

че даже если вызвать
qmake
make
в каталоге с этим профайлом , то не хавает?
как-то подозрительно. должно работать. у меня работает.
странно... он пытался найти файл "_editor/_editor.pro" (в папке на самом деле просто "editor.pro") хотя нигде такого имени не фигурировало кроме названия самой папки. пришлось переименовать папку в просто "editor". а что обязательно про файл должен быть с таким же названием как и папка в которой он находится?
ЗЫ make install из общей папки тоже должен теперь нормально отработать?
« Последнее редактирование: Ноябрь 12, 2008, 18:26 от Hort » Записан
pastor
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 2901



Просмотр профиля WWW
« Ответ #9 : Ноябрь 12, 2008, 18:31 »

пробуем так:

Цитировать
TEMPLATE = subdirs
SUBDIRS = _editor/editor.pro \
               _tester/tester.pro

Полное имя можно не указывать, если имя профайла совпадает с именем директории
« Последнее редактирование: Ноябрь 12, 2008, 18:33 от pastor » Записан

Integrated Computer Solutions, Inc. (ICS)
http://www.ics.com/
Hort
Гость
« Ответ #10 : Ноябрь 12, 2008, 19:43 »

большое спасибо! во всем разобрался. теперь мое приложение нормально устанавливается и даже запускается из командной строки в любой директории Смеющийся
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.127 секунд. Запросов: 23.