作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在CMake中,我可以传递一个没有值的变量作为参数,并检查它是否提供了?
cmake -DPAR1=123 -DPAR2
# CMakeLists.txt
if (PAR2)
message("PAR2 detected")
else()
message("PAR2 not detected")
endif()
使用此代码我收到错误:
Parse error in command line argument: -DPAR2
Should be: VAR:type=value
CMake Error: No cmake script provided.
CMake Error: Problem processing arguments. Aborting.
最佳答案
-D
CMake 命令行参数必须采用 var=value
形式。但是,模拟 bool 值或 #ifdef
的一种方法是为您的 true
情况传递一个有效值(可以是您想要的任何值):
cmake -DPAR1=123 -DPAR2=True
并在 false
情况下完全省略变量:
cmake -DPAR1=123
最后,在您的 CMakeLists.txt
文件中,将 if 语句更改为使用 DEFINED
检查 PAR2
变量是否存在:
if (DEFINED PAR2)
message("PAR2 detected")
else()
message("PAR2 not detected")
endif()
关于cmake - 如何将没有值的参数传递给 CMake?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57114900/
我是一名优秀的程序员,十分优秀!