USE_QT4 | Указывает инструменты и библиотеки в качестве зависимостей для портов, которые используют Qt 4. Для получения подробностей смотрите выбор компонентов Qt 4. |
QT_PREFIX | Устанавливается в значение, содержащее путь к установленному Qt (переменная только для чтения). |
MOC | Устанавливается в значение, содержащее путь к
moc (переменная только для
чтения). По умолчанию устанавливается в соответствии
со значением USE_QT_VER . |
QTCPPFLAGS | Дополнительные флаги компилятора для
инструментального пакета Qt, передаваемые через
переменную CONFIGURE_ENV . По
умолчанию устанавливается в соответствии со значением
USE_QT_VER . |
QTCFGLIBS | Дополнительные флаги компоновки для
инструментального пакета Qt, передаваемые через
переменную CONFIGURE_ENV . По
умолчанию устанавливается в соответствии со значением
USE_QT_VER . |
QTNONSTANDARD | Подавляет изменение
CONFIGURE_ENV ,
CONFIGURE_ARGS ,
CPPFLAGS и
MAKE_ENV . |
UIC | Устанавливает путь к uic
(переменная только для чтения). |
QMAKE | Устанавливает путь к qmake
(переменная только для чтения). |
QMAKESPEC | Устанавливает путь к конфигурационному файлу для
qmake (переменная только для
чтения). |
QMAKEFLAGS | Дополнительные флаги для
qmake . |
QT_INCDIR | Устанавливает каталоги для заголовков Qt 4 (переменная только для чтения). |
QT_LIBDIR | Устанавливает путь к библиотекам Qt 4 (переменная только для чтения). |
QT_PLUGINDIRC | Устанавливает путь к плагинам Qt 4 (переменная только для чтения). |
При заданной переменной USE_QT4
применяются следующие настройки:
CONFIGURE_ARGS+= --with-qt-includes=${QT_INCDIR} \ --with-qt-libraries=${QT_LIBDIR} \ --with-extra-libs=${LOCALBASE}/lib \ --with-extra-includes=${LOCALBASE}/include CONFIGURE_ENV+= MOC="${MOC}" UIC="${UIC}" LIBS="${QTCFGLIBS}" \ QMAKE="${QMAKE}" QMAKESPEC="${QMAKESPEC}" QTDIR="${QT_PREFIX}" MAKE_ENV+= QMAKESPEC="${QMAKESPEC}" PLIST_SUB+= QT_INCDIR_REL=${QT_INCDIR_REL} \ QT_LIBDIR_REL=${QT_LIBDIR_REL} \ QT_PLUGINDIR_REL=${QT_PLUGINDIR_REL}
В переменной USE_QT4
должны
указываться зависимости от отдельных инструментов и библиотек
Qt 4. К каждому компоненту можно добавить суффикс,
_build
или _run
,
отражающий, когда должна быть применена зависимость, во время
сборки или выполнения, соответственно. Если суффикс
отсутствует, зависимость от компонента будет и для времени
сборки, и для времени выполнения. Обычно, компоненты
библиотек должны указываться без суффиксов, компоненты
инструментов - с суффиксом _build
, а
компоненты плагинов - с суффиксом _run
.
Наиболее общие используемые компоненты перечислены ниже (все
доступные компоненты перечислены в
_USE_QT4_ALL
в файле
/usr/ports/Mk/bsd.qt.mk
):
Название | Описание |
---|---|
corelib | основная библиотека (можно опустить, если порт
не использует ничего, кроме
corelib ) |
gui | библиотека графического пользовательского интерфейса |
network | сетевая библиотека |
opengl | библиотека OpenGL |
qt3support | библиотека совместимости с Qt 3 |
qtestlib | библиотека модульного тестирования |
script | библиотека сценариев |
sql | библиотека SQL |
xml | библиотека XML |
Вы можете определить, от каких библиотек зависит
приложение, запустив ldd
на основной
исполняемый файл после успешной компиляции.
Название | Описание |
---|---|
moc | мета-объектный компилятор (нужен при построении почти для каждого приложения Qt) |
qmake | генератор Makefile / утилита построения |
rcc | компилятор ресурсов (нужен, если приложение идет
вместе с файлами *.rc или
*.qrc ) |
uic | компилятор пользовательского интерфейса (нужен,
если приложение идет вместе с файлами
*.ui , созданными при помощи Qt
Designer, - на практике каждое приложение Qt с
GUI) |
Название | Описание |
---|---|
iconengines | плагин для движка иконок SVG (если приложение поставляется с иконками SVG) |
imageformats | плагины для графических форматов GIF, JPEG, MNG и SVG (если приложение поставляется с графическими файлами) |
В этом примере портированное приложение использует
библиотеку графического пользовательского интерфейса Qt 4,
основную библиотеку Qt 4, все инструменты генерации кода
Qt 4 и генератор Makefile Qt 4. Поскольку библиотека
gui
подразумевает зависимость от
основной библиотеки, указывать corelib
нет необходимости. Инструменты генерации кода Qt 4
moc
, uic
и
rcc
, а также генератор Makefile
qmake
нужны только для времени
построения, поэтому они указаны с суффиксом
_build
:
USE_QT4= gui moc_build qmake_build rcc_build uic_build
qmake
Название | Описание |
---|---|
QMAKE_ARGS | Спефицичные для порта флаги
QMake для передачи
программе qmake . |
QMAKE_ENV | Переменные окружения, устанавливаемые для
программы qmake . По умолчанию
соответствует значению
${CONFIGURE_ENV} . |
QMAKE_PRO | Название файла проекта
.pro . По умолчанию имеет пустое
значение (с использованием автоопределения). |
Если вместе с приложением вместо
configure
поставляется файл
.pro
, вы можете использовать
следующее:
USES= qmake USE_QT4= qmake_build
USES=qmake
указывает порту на
использование qmake
в процессе
конфигурации. Обратите внимание, что
USES=qmake
не подразумевает зависимость от
Qt 4 qmake
. Для этого в значении
USE_QT4
должен присутствовать компонент
qmake_build
.
Приложения Qt часто пишутся в кроссплатформенной манере, и X11/Unix часто не является для них платформой разработки, что в свою очередь часто приводит к соответствующим упущенным моментам:
Отсутствующие дополнительные пути для
заголовочных файлов. Многие приложения идут
с поддержкой иконки в системном трее, но пренебрегают
смотреть на наличие заголовочных файлов и/или
библиотеками в каталогах X11. Вы можете сообщить
qmake
, чтобы она добавила каталоги в
пути поиска заголовочных файлов и библиотек через
командную строку. К примеру:
QMAKE_ARGS+= INCLUDEPATH+=${LOCALBASE}/include \ LIBS+=-L${LOCALBASE}/lib
Фиктивные пути установки.
Иногда данные, такие как иконки и файлы .desktop,
устанавливаются по умолчанию в каталоги, которые не
просматриваются XDG-совместимыми приложениями. Примером
является editors/texmaker
- взгляните на patch-texmaker.pro
из
каталога files
этого порта, который
можно взять в качестве шаблона исправления этого
непосредственно в файле проекта
qmake
.
Этот, и другие документы, могут быть скачаны с https://download.freebsd.org/ftp/doc/.
По вопросам, связанным с FreeBSD, прочитайте
документацию прежде чем писать в
<questions@FreeBSD.org>.
По вопросам, связанным с этой документацией, пишите в рассылку
<doc@FreeBSD.org>.