Spec-Zone.ru › Qt 5.15

Настройка qmake

Свойства

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

qmake -set PROPERTY VALUE

Следует заменить соответствующее свойство и значение на PROPERTY и VALUE.

Вы можете получить эту информацию обратно из qmake следующим образом:

qmake -query PROPERTY
qmake -query #queries all current PROPERTY/VALUE pairs

Примечание: qmake -query содержит список встроенных свойств, помимо свойств, которые вы устанавливаете с помощью qmake -set PROPERTY VALUE.

Эта информация будет сохранена в объекте QSettings (что означает, что она будет храниться в разных местах для разных платформ).

Следующий список обобщает built-in свойства:

  • QMAKE_SPEC - короткое имя хоста mkspec, которое разрешается и сохраняется в переменной QMAKESPEC во время сборки хоста
  • QMAKE_VERSION - текущая версия qmake
  • QMAKE_XSPEC - короткое имя целевого mkspec, которое разрешается и сохраняется в переменной QMAKESPEC во время сборки цели
  • QT_HOST_BINS - расположение исполняемых файлов хоста
  • QT_HOST_DATA - расположение данных для исполняемых файлов хоста, используемых qmake
  • QT_HOST_PREFIX - стандартный префикс для всех путей хоста
  • QT_INSTALL_ARCHDATA - расположение общих архитектурно-зависимых данных Qt
  • QT_INSTALL_BINS - расположение бинарных файлов Qt (инструментов и приложений)
  • QT_INSTALL_CONFIGURATION - расположение настроек Qt. Не применимо к Windows
  • QT_INSTALL_DATA - расположение общих архитектурно-независимых данных Qt
  • QT_INSTALL_DOCS - расположение документации
  • QT_INSTALL_EXAMPLES - расположение примеров
  • QT_INSTALL_HEADERS - расположение всех файлов заголовков
  • QT_INSTALL_IMPORTS - расположение расширений QML 1.x
  • QT_INSTALL_LIBEXECS - расположение исполняемых файлов, необходимых библиотекам во время выполнения
  • QT_INSTALL_LIBS - расположение библиотек
  • QT_INSTALL_PLUGINS - расположение плагинов Qt
  • QT_INSTALL_PREFIX - стандартный префикс для всех путей
  • QT_INSTALL_QML - расположение расширений QML 2.x
  • QT_INSTALL_TESTS - расположение тестовых примеров Qt
  • QT_INSTALL_TRANSLATIONS - расположение информации о переводе для строк Qt
  • QT_SYSROOT - sysroot, используемый целевой средой сборки
  • QT_VERSION - версия Qt. Рекомендуется запрашивать номера версий модулей Qt, используя переменные $$QT.<module>.version.

Например, вы можете запросить установку Qt для этой версии qmake с помощью QT_INSTALL_PREFIX свойства:

qmake -query "QT_INSTALL_PREFIX"

Вы можете запросить значения свойств в файле проекта следующим образом:

QMAKE_VERS = $$[QMAKE_VERSION]

QMAKESPEC

qmake требует файл описания платформы и компилятора, содержащий множество значений по умолчанию, используемых для генерации соответствующих файлов Make. Стандартное распределение Qt включает в себя многие из этих файлов, расположенных в подкаталоге mkspecs каталога установки Qt.

Переменная среды QMAKESPEC может содержать любое из следующего:

  • Полный путь к каталогу, содержащему файл qmake.conf. В этом случае qmake откроет файл qmake.conf из этого каталога. Если файл не существует, qmake завершит работу с ошибкой.
  • Имя комбинации платформа-компилятор. В этом случае qmake будет искать в каталоге, указанном в подкаталоге mkspecs пути к данным, указанном при компиляции Qt (см. QLibraryInfo::DataPath).

Примечание: Путь QMAKESPEC будет автоматически добавлен в сгенерированный Makefile после содержимого системной переменной INCLUDEPATH.

Файл кэша

Файл кэша — это специальный файл, который qmake читает, чтобы найти настройки, не указанные в файле qmake.conf, файлах проекта или в командной строке. При запуске qmake он ищет файл, названный .qmake.cache в родительских каталогах текущей директории, если вы не указали -nocache. Если qmake не найдет этот файл, он тихо пропустит этот этап обработки.

Если qmake находит файл .qmake.cache, он сначала обработает этот файл, а затем — файл проекта.

Расширения файлов

В обычных ситуациях qmake будет пытаться использовать соответствующие расширения файлов для вашей платформы. Однако иногда необходимо переопределить стандартные варианты для каждой платформы и явно определить расширения файлов для использования qmake. Это достигается путем переопределения некоторых встроенных переменных. Например, расширение, используемое для файлов moc, может быть переопределено следующим назначением в файле проекта:

QMAKE_EXT_MOC = .mymoc

Следующие переменные могут использоваться для переопределения общих расширений файлов, распознаваемых qmake:

  • QMAKE_EXT_MOC изменяет расширение, добавляемое к включенным файлам moc.
  • QMAKE_EXT_UI изменяет расширение, используемое для файлов интерфейса Qt Designer (обычно в FORMS).
  • QMAKE_EXT_PRL изменяет расширение, добавляемое к файлам зависимостей библиотек.
  • QMAKE_EXT_LEX изменяет суффикс, используемый в файлах Lex (обычно в LEXSOURCES).
  • QMAKE_EXT_YACC изменяет суффикс, используемый в файлах Yacc (обычно в YACCSOURCES).
  • QMAKE_EXT_OBJ изменяет суффикс, используемый для сгенерированных объектных файлов.

Все вышеперечисленные переменные принимают только первое значение, поэтому вы должны назначить им только одно значение, которое будет использоваться в вашем файле проекта. Существуют две переменные, принимающие список значений:

  • QMAKE_EXT_CPP заставляет qmake интерпретировать все файлы с этими суффиксами как файлы исходного кода C++.
  • QMAKE_EXT_H заставляет qmake интерпретировать все файлы с этими суффиксами как файлы заголовков C и C++.

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.15/qmake-environment-reference.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API