Spec-Zone.ru › Qt

Настройка 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 изменяет расширение, используемое для файлов пользовательского интерфейса Qt Designer (обычно в FORMS).
  • QMAKE_EXT_PRL изменяет расширение, добавляемое к файлам зависимостей библиотек (library dependency files).
  • 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.2/qmake-environment-reference.html

Spec-Zone.ru

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