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