2016-03-19 2 views
0

Я пришел к этим предложениям в файле CMakeLists, я искал его, но не смог найти соответствующие ресурсы на слове CACHE STRING.Что означает «CACHE STRING» в файле CMake CMakeLists?

set(CMAKE_BUILD_TYPE Debug CACHE STRING "set build type to debug") 

Что это значит? И imho, разве это не совсем неясно использовать?

ответ

3

Read https://cmake.org/cmake/help/v3.0/command/set.html

В CMake устанавливает <variable> к значению <value>. <value> расширен до того, как установлен <variable>. Как правило, set устанавливает регулярную переменную CMake. Если CACHE присутствует, то <variable> помещается в кэш вместо него, если он уже не находится в кеше. См. Раздел «Переменные типы в CMake» ниже для получения подробных сведений о переменных и переменных кэша и их взаимодействиях. Если используется CACHE, необходимы <type> и <docstring>. <type> используется графическим интерфейсом CMake для выбора виджета, с помощью которого пользователь устанавливает значение.

STRING - тип переменной; это действительно влияет только на инструменты конфигурации, когда они отображают виджеты редактирования для переменной.

Обычно вы должны использовать это, если хотите переопределить настройку с помощью FORCE; иначе вы, вероятно, этого не сделали.

Это не особенно неясно.

NB. Основное различие между и нормальной переменной заключается в том, что в настройке конфигурации cmake отображаются CACHE, как настройка, которую вы можете установить (например, cmake-gui, ccmake).

Смежные вопросы