CheckCCompilerFlag
Проверка, поддерживает ли компилятор C заданный флаг.
-
check_c_compiler_flag -
check_c_compiler_flag(<flag> <resultVar>)
Проверяет, что
<flag>принимается компилятором без диагностических сообщений. Результат сохраняется во внутренней кэшируемой записи с именем<resultVar>.
Положительный результат этой проверки означает только то, что компилятор не выдал сообщение об ошибке при указании флага. Влияние или специфическое действие флага выходят за рамки задач этого модуля.
Проверка выполняется только один раз, а результат кэшируется в переменной, имя которой указано в <resultVar>. При каждом последующем запуске CMake будет использоваться этот кэшированный результат, а не выполнение проверки заново, даже если <code> изменяется. Чтобы принудительно перепроверить, переменную, имя которой указано в <resultVar>, необходимо вручную удалить из кэша.
Команды компиляции и компоновки могут быть изменены настройкой следующих переменных до вызова check_c_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 -
Новое в версии 3.14.
Список опций для добавления к команде компоновки (см.
try_compile()для получения дополнительной информации).
-
CMAKE_REQUIRED_LIBRARIES -
Список библиотек для добавления к команде компоновки. Это может быть имя системных библиотек или Импортированные цели (см.
try_compile()для получения дополнительной информации).
-
CMAKE_REQUIRED_QUIET -
Новое в версии 3.1.
Если эта переменная принимает значение логического типа true, все сообщения об успешности, связанные с проверкой, будут подавлены.
© 2000–2024 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/v3.28/module/CheckCCompilerFlag.html