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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: qmake и проекты не на Qt  (Прочитано 6714 раз)
Вудруф
Гость
« : Февраль 01, 2010, 12:51 »

Есть ли возможность в pro-файлах не генерировать makefile, а всегда выполнять уже имеющийся?
Записан
ecspertiza
Супер
******
Offline Offline

Сообщений: 1053


С уважением, мастер конфетного цеха!


Просмотр профиля
« Ответ #1 : Февраль 01, 2010, 12:54 »

если я неошибаюсь, для этого ненужно выполнять qmake ,а сразу выполнять make.
Записан
BRE
Гость
« Ответ #2 : Февраль 01, 2010, 12:56 »

qmake генерирует Makefile под конкретную машину, учитывая ее архитектуру, пути до библиотек и т.д.
На другой машине все это может быть другим и проект попросту не соберется.
А в чем проблема, откуда это желание?
Записан
Вудруф
Гость
« Ответ #3 : Февраль 01, 2010, 13:20 »

Хмм, возможно, не с той стороны зашёл.
Хочу перегенерировать один заголовочный файл перед каждой сборкой, чтобы прописать туда текущую ревизию из репозитария.
Если бы в момент сборки qt-проекта я мог выполнить внешний код (скрипт/makefile/что угодно), то всё было бы зашибись. Но я нашёл только команду system в qmake, а она не выполняется, когда мы делаем make. Что логично.
Вот и подумал о том, что если бы мы могли прописать
TEMPLATE = SUBDIRS
CONFIG = ORDERED
и первой папкой указать подпроект, в котором не нужно пересобирать makefile, а использовать готовый, то я бы решил поставленную задачу.
Записан
SABROG
Гость
« Ответ #4 : Февраль 01, 2010, 13:39 »

только команду system в qmake, а она не выполняется, когда мы делаем make. Что логично.

Плохо искал
Код:
mytarget.commands = @echo Hello, world
Записан
Вудруф
Гость
« Ответ #5 : Февраль 01, 2010, 14:30 »

Да, вот это помогло:
regenerate.commands = regenerate
QMAKE_EXTRA_TARGETS += regenerate

PRE_TARGETDEPS = regenerate

Спасибо!
Записан
SASA
Гость
« Ответ #6 : Февраль 01, 2010, 15:46 »

Код:
mytarget.commands = @echo Hello, world

Здорово.

Я пишу скрипты, в которых вызывается qmake,make,прочее.
Записан
SABROG
Гость
« Ответ #7 : Февраль 01, 2010, 16:01 »

Код:
mytarget.commands = @echo Hello, world

Здорово.

Я пишу скрипты, в которых вызывается qmake,make,прочее.

Это ирония или ты действительно этим занимаешься o.O ?
Записан
SASA
Гость
« Ответ #8 : Февраль 02, 2010, 11:41 »

Цитировать
Это ирония или ты действительно этим занимаешься o.O ?

Ну да. Под каждую платформу написан батничек. Он делает много всяких вещей (в том числе прописывает номер сборки в h-файл), поддерживает несколько параметров, складывет ошибки в лог файл.
С удавольствием послушаю альтернативы. Это не юмор.
Записан
Akaiten
Гость
« Ответ #9 : Февраль 02, 2010, 15:32 »

Ну да. Под каждую платформу написан батничек. Он делает много всяких вещей (в том числе прописывает номер сборки в h-файл), поддерживает несколько параметров, складывет ошибки в лог файл.

интересно, а подробнее?
Записан
SASA
Гость
« Ответ #10 : Февраль 03, 2010, 11:05 »

интересно, а подробнее?

О чем вы хотите узнать?

В общих чертах я оисал. Подробнее - это скрипт страници на две Улыбающийся, который вызывает другие скрипты  Улыбающийся
Для чего нужен этот скрипт. Человек отвечающий за сборку запускает его и через дцать минут получает готовый дистрибутив.
Если интересно, могу расписать структуру нашего проекта и систему сборки. Но это уже отдельная тема.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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