【问题标题】:Make CMake do a evaluate and format on an string让 CMake 对字符串进行评估和格式化
【发布时间】:2019-02-28 14:43:39
【问题描述】:

我有一个问题,我得到一个变量CONFIG_VAR 的输入,看起来像这样'$ENV{FOO}/path'。我想让 CMake 评估/格式化此字符串以将 '$ENV{FOO}' 替换为环境变量 FOO=bar。当我将它打印出来时,这个变量来自 Kconfig(如果这很重要的话),它只是一个纯字符串。

我尝试执行${CONFIG_VAR} 这会产生'$ENV{FOO}/path' 我尝试执行${${CONFIG_VAR}} 这会产生空。正如您所期望的那样,您正在尝试查找不存在的变量 $ENV{FOO}/path。到目前为止,我已经做了一个 REGEX 匹配,它得到了 $ENV{FOO} 但做 ${$ENV{FOO}} 仍然没有评估到我想要的。所以不知道有没有办法触发CMake的字符串格式化,以某种方式替换字符串中的变量?

【问题讨论】:

    标签: string variables cmake


    【解决方案1】:

    在 CMake 中实现类似 eval 的函数似乎很难,但您可以通过configure_filefile(WRITE)file(APPEND) 将表达式写入文件,然后通过include 那个文件。

    【讨论】:

    • 是的,找不到任何 eval 函数,我环顾四周的互联网上的每个部分都说同样的话。感谢您的回答。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-12
    • 2018-11-08
    • 1970-01-01
    • 2016-04-24
    相关资源
    最近更新 更多