我在CMakeLists文件中找到了这句话,我用Google搜索但找不到CACHE STRING
这个词的相关资源。
set(CMAKE_BUILD_TYPE Debug CACHE STRING "set build type to debug")
这是什么意思?而imho,这用起来不是很模糊吗?
答案 0 :(得分:4)
阅读https://cmake.org/cmake/help/v3.0/command/set.html
在CMake中将
<variable>
设置为值<value>
。在<value>
设置之前展开<variable>
。通常,set会设置一个常规的CMake变量。如果存在CACHE,则<variable>
将被置于缓存中,除非它已经在缓存中。有关常规变量和缓存变量及其交互的详细信息,请参阅下面的“CMake中的变量类型”一节。如果使用CACHE,则需要<type>
和<docstring>
。 CMake GUI使用<type>
来选择用户设置值的小部件。
STRING
是变量类型;这只会在显示变量的编辑小部件时影响配置工具。
如果您想使用FORCE
覆盖设置,通常会使用此选项;否则你可能不会。
这并不是特别模糊。
NB。 CACHE
和普通变量之间的主要区别在于CACHE
可以在cmake配置工具中显示为您可以设置的设置(例如,cmake-gui,ccmake)。