Spec-Zone.ru › CMake 3.27

CMakePushCheckState

Этот модуль определяет три макроса: CMAKE_PUSH_CHECK_STATE() CMAKE_POP_CHECK_STATE() и CMAKE_RESET_CHECK_STATE(). Эти макросы могут использоваться для сохранения, восстановления и сброса (т.е., очистки содержимого) состояния переменных CMAKE_REQUIRED_FLAGS, CMAKE_REQUIRED_DEFINITIONS, CMAKE_REQUIRED_LINK_OPTIONS, CMAKE_REQUIRED_LIBRARIES, CMAKE_REQUIRED_INCLUDES и CMAKE_EXTRA_INCLUDE_FILES, используемых различными файлами Check в CMake, например, check_function_exists() и т.д. Содержимое переменных помещается в стек; поддержка многократного помещения. Это полезно, например, при выполнении таких тестов в модуле Find, где они должны быть установлены, но после выполнения модуля Find они должны иметь такое же значение, как и до этого.

Макрос CMAKE_PUSH_CHECK_STATE() получает необязательный аргумент RESET. Если он указан, CMAKE_PUSH_CHECK_STATE() установит все переменные CMAKE_REQUIRED_* в пустые значения, как и вызов CMAKE_RESET_CHECK_STATE().

Использование:

cmake_push_check_state(RESET)
set(CMAKE_REQUIRED_DEFINITIONS -DSOME_MORE_DEF)
check_function_exists(...)
cmake_reset_check_state()
set(CMAKE_REQUIRED_DEFINITIONS -DANOTHER_DEF)
check_function_exists(...)
cmake_pop_check_state()

© 2000–2021 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/v3.21/module/CMakePushCheckState.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API