Spec-Zone.ru › CMake 3.15

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–2020 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/v3.15/module/CMakePushCheckState.html

Spec-Zone.ru

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