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 ★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.