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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: qmake бред, или как не сойти с ума-2  (Прочитано 2501 раз)
Alex Custov
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2063


Просмотр профиля
« : Август 24, 2009, 23:18 »

Проблема: есть простой qmake проект, который компилируется в библиотеку, с которой можно линковаться, или подсунуть дизайнеру как плагин. Теперь пишу для него процедуру установки:

Код:
target.path = $$[QT_INSTALL_PLUGINS]/designer
INSTALLS += target

linkable.path = /usr/local/lib
linkable.files = libDoubleSpinboxPlugin.so
INSTALLS += linkable


Т.е. встроенную цель ставим как плагин дизайнера, и свою цель ставим как linkable библиотеку в /usr/local/lib.

Очищаем полностью проект от всех выходных файлов, включая Makefile. Теперь магия:

Код
Bash
[debian DoubleSpinbox]$ qmake
[debian DoubleSpinbox]$ make -s
[debian DoubleSpinbox]$ ls *.so
libDoubleSpinboxPlugin.so
[debian DoubleSpinbox]$ cat Makefile | grep linkable
 

Никаких следов цели "linkable".

Повторно:

Код
Bash
[debian DoubleSpinbox]$ qmake
[debian DoubleSpinbox]$ cat Makefile | grep linkable
install_linkable: first FORCE
uninstall_linkable:  FORCE
install:  install_target install_linkable  FORCE
uninstall: uninstall_target uninstall_linkable   FORCE
 

Цель есть.

Экспериментальным путём выяснено, что на генерацию Makefile-а влияет существование выходного файла "libDoubleSpinboxPlugin.so". Если он есть, то последующий вызов qmake создаст корректный Makefile. Если его нет, то последующий вызов qmake создаст битый Makefile без цели "linkable". Что за?  Шокированный

P.S. Debian Lenny, Qt 4.5.2
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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