gpt4 book ai didi

variables - 我可以将 CMake 变量设置为 bool 表达式的结果吗?

转载 作者:行者123 更新时间:2023-12-03 19:10:05 27 4
gpt4 key购买 nike

考虑以下 CMake 代码:

if(VAR_1 STREQUAL VAR_2)
set(VAR_3 ON)
else()
set(VAR_3 OFF)
endif()
我想写同样的东西,但作为一个单行。我并不特别关心哪种 bool 表示 VAR_3最终使用。所以我需要的是将它设置为 bool 表达式的评估结果。
现在,这不起作用:
set(VAR_3 (VAR_1 STREQUAL VAR_2) )
这也不是:
set(VAR_3 (${VAR_1} STREQUAL ${VAR_2}) )
相反,他们给了我类似 ;ValueOfVar1Here;STREQUAL;ValueOfVar2Here; 的东西- 这不是我想要的。
我能以某种方式得到我想要的评价吗?

最佳答案

不,你不能。只有一行有一个 cmake 命令。每个 cmake 脚本命令调用都必须以 ) 结尾(后跟可选的注释),然后是换行符(参见 cmake doc about source files )。您仍然可以编写一个可以执行您想要的操作的宏。

macro(assign_me_bool var)
if(${ARGN})
set(${var} ON)
else()
set(${var} OFF)
endif()
endmacro()

assign_me_bool(VAR_3 VAR_1 STREQUAL VAR_2)

关于variables - 我可以将 CMake 变量设置为 bool 表达式的结果吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62487808/

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