Spec-Zone.ru › Qt 6.1

Настройка 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_LIBS - расположение библиотек хоста
  • QT_HOST_LIBEXECS - расположение исполняемых файлов, необходимых библиотекам хоста во время выполнения
  • 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_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 изменяет расширение, используемое для файлов 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-6.1/qmake-environment-reference.html

Spec-Zone.ru

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