CMAKE中无值set指令用法疑问:set(${FOLDER_NAME}_HR PARENT_SCOPE)含义
关于CMake中
set(${FOLDER_NAME}_HR PARENT_SCOPE)写法的解析 这种写法是CMake完全支持的语法,结论很明确:这个变量会被定义为空字符串,并且该空值会被传递到父作用域中。
具体细节拆解:
- CMake的
set指令允许省略变量值参数,此时变量会被默认设置为空字符串。 PARENT_SCOPE选项的作用是将变量的修改(这里是设置为空)同步到当前作用域的父作用域中——也就是说,父CMakeLists里的${FOLDER_NAME}_HR变量会被设为空,或者如果父作用域原本没有这个变量,就会新增一个值为空的该变量。- 这种写法一般用于在子目录/子函数的作用域中,主动清空父作用域的目标变量,或者明确标记该变量当前无有效内容。
内容的提问来源于stack exchange,提问作者mr.Arrow
相关产品推荐
相关产品推荐

