02-cmake语法-if、条件表达
2024-08-30 16:26:24
格式:
if(expression)
# then section.
COMMAND1(ARGS ...)
COMMAND2(ARGS ...)
...
elseif(expression2)
# elseif section.
COMMAND1(ARGS ...)
COMMAND2(ARGS ...)
...
else()
# else section.
COMMAND1(ARGS ...)
COMMAND2(ARGS ...)
...
endif()
例子:
if(" ${CMAKE_SOURCE_DIR}" STREQUAL " ${CMAKE_BINARY_DIR}")
message(FATAL_ERROR "
FATAL: In-source builds are not allowed.
You should create a separate directory for build files.
")
endif()
STREQUAL 是 CMAKE 的关键字,用于字符串比较,相同返回 true
${CMAKE_SOURCE_DIR} 是 CMAKE 的自保留变量(拿来用就可以,含义已经确定),文件路径
${CMAKE_BINARY_DIR}是输出路径
关系操作符
NOT | 非,NOT E1 |
AND | 与,E1 AND E2 |
OR | 或,E1 OR E2 |
EXIST | ~ E,存在 name 的文件或者目录(应该使用绝对路径),真 |
COMMAND | ~ E,存在 command-name 命令、宏或函数且能够被调用,真 |
DEFINED | ~ E,变量被定义了,真 |
EQUAL | E1 ~ E2,变量值或者字符串匹配 regex 正则表达式 |
LESS | |
GREATER | |
STRLESS | E1 ~ E2,变量值或者字符串为有效的数字且满足小于(大于、等于)的条件 |
STRGREATER | |
STREQUAL |
最新文章
- elk查询语法
- AutoMapper搬运工之自定义类型转换
- BADI_MATERIAL_CHECK(物料主数据表的增强检查)
- 图表插件使用汇总(echarts,highchairts)
- SpringBoot之springfox(Swagger) (ApiDoc接口文档)
- bzoj1475
- javascript获取CSS3浏览器前缀
- Swift隐式可选型简单介绍
- 旧Mj下拉刷新 An instance 0xca90200 of class UITableView was deallocated while key value observers were s
- Eight
- component及刚体rigidbody用法
- JS“盒子模型”
- JAVA取数两个数组交集,考虑重复和不重复元素
- 一个会学习(观察->;活学->;求变)的人,在任何领域都能变得强大无比
- 解决mysql大小写敏感问题
- Mongodb的入门(8)mongodb事物分析
- 用EXCEL批量更改文件名,一个命令就能完成
- Jmeter+Ant+Jenkins搭建持续集成的接口测试框架
- B+树索引
- hdu 3599(最短路+最大流)