1

我想知道是否有办法从 CMakeLists.txt 脚本中获取缓存变量列表。我的意思是,有这样的事情:

cmake -S . -B build -DMY_VAR1=hello -DMY_VAR2=there 

并且,在我的 CMakeLists.txt 中

option(MY_VAR3 "a cache setting" ON)

有没有办法从 CMakeLists.txt 脚本本身中获取包含 MY_VAR1、MY_VAR2 和 MY_VAR3 以及所有其他缓存变量的列表 var MY_CACHE_LIST?

谢谢

4

1 回答 1

2

缓存变量列表包含在目录的CACHE_VARIABLES属性中。可以提取如下:

get_directory_property(cache_vars CACHE_VARIABLES)
message(STATUS "List of CACHE variables: ${cache_vars}")

除了打印这些变量的列表之外,通过使用每个变量的名称,可以提取其值并提取列在“缓存条目的属性”下的其他属性。

于 2021-09-09T10:01:42.090 回答