要从一个子目录中为整个CMake环境提供值,可以使用set(VARIABLE_NAME Value CACHE INTERNAL "")
语法设置缓存变量,或使用set_property(GLOBAL PROPERTY VARIABLE_NAME Value)
语法设置全局属性(另请参阅{{3})关于CMake中的变量。)
使用后者的优点是你不会污染" CMake缓存用于不是为其设计的内容,并且在不使用FORCE
参数时不依赖于被删除的缓存。
但是使用变量值的语法不是用户友好的,因为您必须使用get_property
检索值,而不是仅使用${...}
表示法。
是否有更简单的语法而不是get_property
(某种语法糖)?