gpt4 book ai didi

cmake - 如何忽略 CMakeLists.txt 中单个 CMake 命令的错误?

转载 作者:行者123 更新时间:2023-12-04 03:00:07 25 4
gpt4 key购买 nike

我有一个项目所在的CMakeLists.txt尝试读取可能存在或不存在的文件。文件丢失不是问题,脚本可以处理任何一种情况。如果我们可以检测到已知的 Linux 发行版,这用于稍微调整编译环境:

file (READ /etc/redhat-release RHREL)
if (RHREL MATCHES "Red Hat Enterprise Linux Server release 6*")
# tweak for RHEL6
elseif (RHREL MATCHES "Red Hat Enterprise Linux Server release 7*")
# tweak for RHEL7
else()
# either read failed, or we didn't match a known RHEL release
# fallback to reasonable defaults
endif()

问题是当 file(READ...)失败似乎是使用 SEND_ERROR 输出消息范围。这意味着我的配置继续进入全面 else()正如我所料,但在配置结束时 CMake拒绝生成 Makefile .

我该如何运行 file(READ)这样我就可以在本地处理错误并防止它们使整个配置失败?

最佳答案

您可以先检查文件是否存在(n.b. 如果它存在但不可读,您仍然会遇到问题):

if (EXISTS /etc/redhat-release)

关于cmake - 如何忽略 CMakeLists.txt 中单个 CMake 命令的错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36973768/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com