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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Вопрос по qmake, переменная DESTDIR  (Прочитано 15398 раз)
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.029 секунд. Запросов: 23.