有没有办法检测当前范围是否有父项?
我有一个项目,可以是独立项目,也可以是另一个项目的子项目.为了允许子项目的情况,我使用PARENT_SCOPE标志set()将事物推送到父项.但是,当构建为独立项目时,我得到"当前范围没有父级"警告.我想通过检测是否存在父级并在if语句中包含set()调用来避免该错误.或者是否有另一种方法在父级范围内设置变量?
我有此代码项目可以独立构建,也可以作为较大存储库的子项目构建(将其作为子存储库检查)。在后一种情况下,我CMakeLists.txt在主项目中拥有一个顶层
add_subdirectory(${MY_SUBPROJ_SUBDIR})
Run Code Online (Sandbox Code Playgroud)
现在,我希望子项目在通过中使用时,其行为有所不同the add_directory()。显然,我会使用一条大if指令。但是我要检查什么情况?当运行某些命令时CMakeLists.txt,CMake如何“告诉” 它是子目录文件还是主文件?