Russian Qt Forum

Qt => Qt-инструментарий => Тема начата: UVV от Ноябрь 09, 2008, 09:39



Название: Вопрос по qmake, переменная DESTDIR
Отправлено: UVV от Ноябрь 09, 2008, 09:39
Есть у него такая переменная как DESTDIR.
Возможно ли как-то организовать поведение этой переменной на подобие autotools?
Т.е. чтобы make install DESTDIR=/my/dir приводило к желаемому результату?


Название: Re: Вопрос по qmake, переменная DESTDIR
Отправлено: pastor от Ноябрь 09, 2008, 12:45
Советую заглянуть в qmake Variable Reference (http://doc.trolltech.com/4.4/qmake-variable-reference.html).  Есть такая переменная как 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


Название: Re: Вопрос по qmake, переменная DESTDIR
Отправлено: Hort от Ноябрь 09, 2008, 22:53
Цитировать
target.path += $$[QT_INSTALL_PLUGINS]/imageformats
INSTALLS += target
я так понимаю это значит (только?) скомпилированный файл помещается в каталог target.path? а как сделать чтобы вместе с ним помещались и другие файлы? напимер файлы перевода и иконки программы?


Название: Re: Вопрос по qmake, переменная DESTDIR
Отправлено: pastor от Ноябрь 10, 2008, 12:00
я так понимаю это значит (только?) скомпилированный файл помещается в каталог target.path? а как сделать чтобы вместе с ним помещались и другие файлы? напимер файлы перевода и иконки программы?

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

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

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


Название: Re: Вопрос по qmake, переменная DESTDIR
Отправлено: Hort от Ноябрь 12, 2008, 17:25
а можно както сделать make для двух проектов сразу. Просто у меня прога состоит из двух исполняемых файлов. делаю qmake в каталоге с общим .pro файлом - вроде все ок, а когда делаю make там же - пишет нет нормальных Makefile'ов. приходится вереходить в подкаталоги и для каждого делать отдельно make.


Название: Re: Вопрос по qmake, переменная DESTDIR
Отправлено: spirit от Ноябрь 12, 2008, 17:30
для этого нужно создать про-файл с дерективой TEMPLATE = subdirs
пример,
Цитировать
SUBDIRS  = lib1 \
           lib2 \
           app1 \
           app2


Название: Re: Вопрос по qmake, переменная DESTDIR
Отправлено: Hort от Ноябрь 12, 2008, 17:35
у меня он и есть
Код:
TEMPLATE = subdirs
SUBDIRS = _editor \
          _tester
qmake на него реагирует а make - нет


Название: Re: Вопрос по qmake, переменная DESTDIR
Отправлено: spirit от Ноябрь 12, 2008, 17:44
че даже если вызвать
qmake
make
в каталоге с этим профайлом , то не хавает?
как-то подозрительно. должно работать. у меня работает.


Название: Re: Вопрос по qmake, переменная DESTDIR
Отправлено: Hort от Ноябрь 12, 2008, 18:24
че даже если вызвать
qmake
make
в каталоге с этим профайлом , то не хавает?
как-то подозрительно. должно работать. у меня работает.
странно... он пытался найти файл "_editor/_editor.pro" (в папке на самом деле просто "editor.pro") хотя нигде такого имени не фигурировало кроме названия самой папки. пришлось переименовать папку в просто "editor". а что обязательно про файл должен быть с таким же названием как и папка в которой он находится?
ЗЫ make install из общей папки тоже должен теперь нормально отработать?


Название: Re: Вопрос по qmake, переменная DESTDIR
Отправлено: pastor от Ноябрь 12, 2008, 18:31
пробуем так:

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

Полное имя можно не указывать, если имя профайла совпадает с именем директории


Название: Re: Вопрос по qmake, переменная DESTDIR
Отправлено: Hort от Ноябрь 12, 2008, 19:43
большое спасибо! во всем разобрался. теперь мое приложение нормально устанавливается и даже запускается из командной строки в любой директории ;D