cmake条件判断

更新时间:2023-06-24 03:03:11 阅读: 评论:0

cmake条件判断
以下内容来⾃cmake官⽅⽂档:
选择恐惧症
if 语法
if(<condition>)
远走高飞歌词
<commands>
elif(<condition>) # optional block, can be repeated
英语语法分析<commands>手机壁纸动漫
el()              # optional block
<commands>
endif()
el和endif后⾯的括号中的<condition>可写可不写,如果写了,就必须和if中的<condition>⼀致。安全培训试题
操作符优先级
初中生物课优先级最⾼的是括号内部的表达式
其次是⼀元测试操作符,如EXISTS, COMMAND 和 DEFINED
再次是⼆元测试操作符,如EQUAL, LESS, LESS_EQUAL, GREATER, GREATER_EQUAL, STREQUAL, STRLESS,
STRLESS_EQUAL, STRGREATER, STRGREATER_EQUAL, VERSION_EQUAL, VERSION_LESS, VERSION_LESS_EQUAL, VERSION_GREATER, VERSION_GREATER_EQUAL, 和 MATCHES
最后是逻辑判断操作符,如 NOT, AND, OR
如果不记得优先级,就加括号,简单粗暴~
表达式对照表
表达式true fal说明
<constant>constant 为1, ON, YES, TRUE, Y,
或⾮零数值
0, OFF, NO, FALSE, N, IGNORE,
NOTFOUND,空字符串,或者带-
NOTFOUND后缀
布尔值⼤⼩写不敏感;如果与这些常量都不匹配,则将
其视为变量或字符串
<variable/string>已经定义且不是fal的变量未定义或者是fal的变量变量就是字符串NOT <condition>condition为fal condition为true
<cond1> AND
<cond2>
cond1和cond2同时为true cond1和cond2⾄少有⼀个为fal
COMMAND command-name command-name是⼀个已经定义的
CAMMAND, MACRO或
FUNCTION
command-name未定义
POLICY policy-id policy-id存在policy-id不存在policy可以理解为cmake的语法,当语句⽆法兼容不同的cmake版本时,可以判断policy-id来做兼容性处理
TARGET target-
name target-name是add_executable(),
add_library(),
add_custom_target()定义过的
target
target-name未定义
TEST test-name test-name为add_test()创建过的测
试名称
test-name未创建
EXISTS path存在路径为path的⽂件或⽬录不存在路径为path的⽂件或⽬录
file1
IS_NEWER_THAN
file2file1⽂件时间戳⽐file2⼤,其中⼀个
⽂件不存在,两个⽂件时间戳相同
其他情况路径需要时全路径
IS_DIRECTORY
IS_DIRECTORY
path
path为⽬录path不为⽬录path必须是全路径IS_SYMLINK path path为链接path不为连接path必须是全路径
IS_ABSOLUTE
path
path为绝对路径path不为绝对路径
<variable>
MATCHES regex
variable与正则表达式regex匹配成功variable与正则表达式匹配失败
<var1> LESS <var2>var1和var2均为数字且var1⼩于
var2
var1不⼩于var2
其他数值⽐较操作符:GREATER , EQUAL,
LESS_EQUAL, GREATER_EQUAL
<var1 STRLESS
var2>var1和var2为字符串且按照字典顺序
什么是一体机
var1⼩于var2
var1不⼩于var2
其他字符串⽐较操作符:STRGREATER,
STREQUAL, STRLESS_EQUAL ,
STRGREATER_EQUAL
<var1
VERSION_LESS
var2>左边版本号⼩于右边版本号左边版本号⼤于等于右边版本号
其他的版本号⽐较操作符:VERSION_GREATER,
VERSION_EQUAL, VERSION_LESS_EQUA,
VERSION_GREATER_EQUAL
<var1 IN_LIST
var2>
右边list中包含左边不包含
DEFINED <var>已定义变量未定义变量
CACHE {<var>}已定义cache variable未定义
ENV {<var>}存在环境变量不存在环境变量
windows错误恢复
表达式true fal说明

本文发布于:2023-06-24 03:03:11,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/82/1025760.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:变量   表达式   存在   判断   路径   匹配   版本号
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图