Spec-Zone.ru › CMake 3.28

CheckCompilerFlag

New in version 3.19.

Проверьте, поддерживает ли компилятор заданный флаг.

check_compiler_flag
check_compiler_flag(<lang> <flag> <resultVar>)

Проверьте, что <flag> принимается компилятором без диагностики. Результат сохраняется во внутренней записи кэша под названием <resultVar>.

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

Проверка выполняется только один раз и результат кэшируется в переменной, имя которой указано в <resultVar>. Каждый последующий запуск CMake будет использовать это кэшированное значение, а не проводить проверку снова, даже если <code> изменяется. Чтобы принудительно переоценить проверку, переменная, имя которой указано в <resultVar>, должна быть удалена из кэша вручную.

Команды компиляции и компоновки могут быть изменены путем установки следующих переменных перед вызовом check_compiler_flag()

CMAKE_REQUIRED_FLAGS

Строка дополнительных флагов для передачи компилятору. Строка должна быть разделена пробелами — список через ';' не сработает. Содержимое CMAKE_<LANG>_FLAGS и его соответствующей переменной конфигурации автоматически добавляется к команде компилятора перед содержимым CMAKE_REQUIRED_FLAGS.

CMAKE_REQUIRED_DEFINITIONS

список через ';' определений компилятора в формате -DFOO или -DFOO=bar. Также автоматически добавится определение для имени, указанного в <resultVar>.

CMAKE_REQUIRED_INCLUDES

список через ';' путей поиска заголовков для передачи компилятору. Будут использоваться только эти пути поиска заголовков — содержимое свойства каталога INCLUDE_DIRECTORIES будет проигнорировано.

CMAKE_REQUIRED_LINK_OPTIONS

New in version 3.14.

список через ';' опций для добавления к команде компоновки (см. try_compile() для получения дополнительных сведений).

CMAKE_REQUIRED_LIBRARIES

список через ';' библиотек для добавления к команде компоновки. Это могут быть имена системных библиотек или Импортированные цели (см. try_compile() для получения дополнительных сведений).

CMAKE_REQUIRED_QUIET

New in version 3.1.

Если эта переменная принимает значение булевого типа «истина», все сообщения состояния, связанные с проверкой, будут подавлены.

© 2000–2024 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/v3.28/module/CheckCompilerFlag.html

Spec-Zone.ru

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