CheckStructHasMember
Проверка наличия указанного члена переменной в структуре или классе.
-
CHECK_STRUCT_HAS_MEMBER -
CHECK_STRUCT_HAS_MEMBER(<struct> <member> <header> <variable> [LANGUAGE <language>])<struct> - the name of the struct or class you are interested in <member> - the member which existence you want to check <header> - the header(s) where the prototype should be declared <variable> - variable to store the result <language> - the compiler to use (C or CXX)
Следующие переменные можно задать перед вызовом этой макрокоманды, чтобы изменить способ выполнения проверки:
-
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.
Если эта переменная имеет значение логического типа «истина», все сообщения статуса, связанные с проверкой, будут подавлены.
Пример:
CHECK_STRUCT_HAS_MEMBER("struct timeval" tv_sec sys/select.h
HAVE_TIMEVAL_TV_SEC LANGUAGE C)
© 2000–2024 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/v3.27/module/CheckStructHasMember.html