CheckCompilerFlag
Added in version 3.19.
Проверить, поддерживает ли <lang> компилятор заданный флаг.
-
check_compiler_flag -
check_compiler_flag(<lang> <flag> <resultVar>)
Проверить, что <flag> принимается <lang> компилятором без диагностики. Результат сохраняется во внутренней переменной кэша, указанной в <resultVar>, с булевым значением true для успеха и булевым значением false для неудачи.
true означает только то, что компилятор не выдал сообщение об ошибке при задании флага. Влияние флага на работу компилятора выходит за рамки этого модуля.
Внутренне, для проверки используется try_compile(). Если CMAKE_TRY_COMPILE_TARGET_TYPE установлено в EXECUTABLE (по умолчанию), то проверка компилирует и линксирует исполняемую программу. Если установлено в STATIC_LIBRARY, то проверка компилируется, но не линксируется.
Команды компиляции и линковки можно настроить, задав любые из следующих переменных перед вызовом check_compiler_flag(). Неизвестные флаги в этих переменных могут привести к ложному отрицательному результату.
-
CMAKE_REQUIRED_FLAGS -
Строка дополнительных флагов для передачи компилятору. Строка должна быть разделена пробелами — ;-list не сработает. Содержимое
CMAKE_<LANG>_FLAGSи его переменной, специфичной для конфигурации, автоматически добавляются в команду компилятора перед содержимымCMAKE_REQUIRED_FLAGS.
-
CMAKE_REQUIRED_DEFINITIONS -
;-list определений компилятора вида
-DFOOили-DFOO=bar. Определение для имени, указанного в<resultVar>, также будет добавлено автоматически.
-
CMAKE_REQUIRED_INCLUDES -
;-list путей поиска заголовков для передачи компилятору. Эти пути будут единственными используемыми путями поиска заголовков — содержимое свойства каталога
INCLUDE_DIRECTORIESбудет проигнорировано.
-
CMAKE_REQUIRED_LINK_OPTIONS -
Added in version 3.14.
;-list опций для добавления в команду линковки (см.
try_compile()для получения более подробной информации).
-
CMAKE_REQUIRED_LIBRARIES -
;-list библиотек для добавления в команду линковки. Это могут быть имена системных библиотек или Импортированные целевые объекты (см.
try_compile()для получения более подробной информации).
-
CMAKE_REQUIRED_LINK_DIRECTORIES -
Added in version 3.31.
;-list путей поиска библиотек для передачи линковщику (см.
try_compile()для получения более подробной информации).
-
CMAKE_REQUIRED_QUIET -
Added in version 3.1.
Если эта переменная вычисляется в булевое значение true, все сообщения состояния, связанные с проверкой, будут подавлены.
© 2000–2024 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/v3.31/module/CheckCompilerFlag.html