cmake:如何检查不可读文件的存在

cmake:如何检查不可读文件的存在

理论上cmake可以检查文件是否存在

if(EXISTS "/dev/spidev0.0")

根据文档这应该是如果指定的文件或目录存在,则为 True。仅针对完整路径明确定义行为。,但我发现如果用户对该文件既没有读取权限也没有写入权限,则上述条件失败。如果我添加权限,它就可以工作。

但是,构建项目的用户不应该访问该设备,因此他的文件权限为零。构建的软件将在具有 SPI 访问权限的不同帐户下运行,因此如果找到设备文件,则需要构建相应的模块。test -e /dev/spidev0.0是真的,但cmake似乎确实如此test -r

作为解决方法,我可以检查 中的符号链接/sys/class/spidev/spidev0.0,但是处理该问题的正确方法是什么?

相关内容