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