LINUX.ORG.RU

[Qt&qmake]


0

0
Курю *.pro *.pri файлы от qtmmlwidget-2.4

Тихо офигеваю от того, что вижу.

Кто нить может объяснить, что значит

TEMPLATE += fakelib

В официальной документации я такого в упор не вижу!

★★★
QMake - это старый сборник захардкоденых костылей, который даже самим Троллям не нравится, и существующий (исключительно?) для сборки самого Qt. Не ожидайте увидеть полноценную документацию. Если только начинаете осваивать систему сборки - советую читать CMake.
Dendy ★★★★★
()
Сурприз! Значит это недокументированная возможность.
alex_custov ★★★★★
()
Ответ на: комментарий от Dendy
Если проект чисто на Qt, то не надо заниматься ерундой, нужно использовать qmake. Если доля Qt в проекте процентов 30-40, тогда уже смотреть в сторону cmake.
UVV ★★★★★
()
Ответ на: комментарий от Dendy
Я тоже сначала имел иное мнение на этот счёт =)
Но стоит взглянуть на это с другой стороны: зачем я должен ставить себе ещё cmake, если я хочу собрать <подставить нужное название проекта>? ;)
P.S.: "Не" с глаголами пишется раздельно =)
UVV ★★★★★
()
Ответ на: комментарий от UVV
> зачем я должен ставить себе ещё cmake, если я хочу собрать <подставить нужное название проекта>? ;)

Ну, если вопрос только в что-то доставить, то cmake - очень маленькая, но крайне полезная зависимость, использующаяся довольно часто. Я бы не стал жертвовать языком программирования только из-за того, что возникает зависимость от компилятора (-:

> "Не" с глаголами пишется раздельно =)

Верно. Только "согласен" - не глагол (-:

Dendy ★★★★★
()
Ответ на: комментарий от Dendy
> Ну, если вопрос только в что-то доставить, то cmake - очень маленькая, но крайне полезная зависимость, использующаяся довольно часто.
Но это вынуждает пользователей продукта ставить её, которые не всегда программисты.

> Верно. Только "согласен" - не глагол (-:
/me забыл русский язык... )
UVV ★★★★★
()
Ответ на: комментарий от UVV
> Но это вынуждает пользователей продукта ставить её, которые не всегда программисты.

Пользователи, которые не программисты вообще рискуют ничего не собрать (-: Система сборки важна только в контексте разработки. Как писал Александреску - программы пишутся для человека, а не машины.

Dendy ★★★★★
()

Разобрался! Qmake с ключем -d спас мой мозг.

Как это не удивительно, fakelib обозначает не что иное, как fakelib))

Вот фрагмент его использования:

TEMPLATE += fakelib

QTMMLWIDGET_LIBNAME = $$qtLibraryTarget(QtSolutions_MMLWidget-2.4)

TEMPLATE -= fakelib

Дело в том, что во второй сторке будет вызвана специальная функция. (оказывается в qmake можно повесить функцию, которая будет вызываться при изменении значения переменной ) В этой функции анализируется содержимое переменной TEMPLATE. Вот для этого и необходимо было засунуть fakelib в TEMPLATE. Тоесть - это не название шаблона!

ЗЫ: Cmake тоже не плох. От когда троллтечи на него сами переползут, напишут свои модули под него, от тогда и я забуду про qmake.

AF ★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.