在dw里网站页面列表怎么做,青岛外包加工网,如何提高网站加载速度慢,网络营销策划书的类型一. 简介
前面学习了 CMakeLists.txt语法中的 部分常用命令#xff0c;常量变量#xff0c;双引号的使用。
前面一篇文章也简单了解了 CMakeLists.txt语法中的条件判断#xff0c;文章如下#xff1a;
CMakeLists.txt语法规则#xff1a;条件判断说明一-CSDN博客
本文…一. 简介
前面学习了 CMakeLists.txt语法中的 部分常用命令常量变量双引号的使用。
前面一篇文章也简单了解了 CMakeLists.txt语法中的条件判断文章如下
CMakeLists.txt语法规则条件判断说明一-CSDN博客
本文继续学习 CMakeLists.txt语法中的条件判断主要学习 条件判断中的 表达式。 二. CMakeLists.txt语法规则条件判断中的表达式
前一篇文章简单了解了 CMakeLists.txt语法中条件判断本文对条件判断中表达式进行学习。
1. constant 表达式 在 if(constant)条件判断中如果 constant 是 1、ON、YES、TRUE、Y 或非零数字那么这个 if 条件就 是 true 如果 constant 是 0、OFF、NO、FALSE、N、IGNORE、NOTFOUND、空字符串或以后缀-NOTFOUND 结尾那么这个条件判断的结果就是 false。 在 cmake 中可以把 1、ON、YES、TRUE、Y 或非零数字以及 0、OFF、NO、FALSE、N、IGNORE、 NOTFOUND、空字符串或以后缀-NOTFOUND 结尾这些理解为常量类似于布尔值而且它们不区分大小写 如果参数不是这些特定常量之一则将其视为变量或字符串并使用除constant之外的表达式。 if(ON)
message(true)
else()
message(false)
endif()
输出为true 。
同理当 if(ON) 判断替换为 if(YES) 、if(true) 、if(100) 等非 0数字输出都为 true。 if(0)
message(true)
else()
message(false)
endif()
输出为false
同理当 if(0) 判断替换为 if(N) 、if(NO)时输出也是 输出为false 。 2. variable/string 表达式 在 if(variable/string)条件判断中如果变量已经定义并且它的值是一个非假常量则条件为真否则为假。 注意宏参数不是变量在 cmake 中也可以使用宏这个后面再给大家介绍。 输出为true
set(GG Hello)
if(GG)
message(true)
else()
message(false)
endif()输出为false
set(GG NO)
if(GG)
message(true)
else()
message(false)
endif()输出为false
if(GG)
message(true)
else()
message(false)
endif() 3. NOT expression 表达式 NOT 其实就类似于 C 语言中的取反在 if(NOT expression) 条件判断中如果表达式 expression 为真则条件判断为假如果表达式 expression 为假则条件判断为真。 if(NOT GG)
message(true)
else()
message(false)
endif() 输出为 true 因为 GG 变量没有定义所以 GG 表达式为假但因为前面有 NOT 关键字进行取反操作整个 if 条件判断为真。 输出为false
if(NOT YES)
message(true)
else()
message(false)
endif()输出为true
if(NOT 0)
message(true)
else()
message(false)
endif() 4. expr1 AND expr2表达式 这个就类似于 C 语言中的逻辑与 只有 expr1 和 expr2 同时为真时条件判断才为真否则条件判断为假。 输出为true
if(yes AND on)
message(true)
else()
message(false)
endif()#输出为false
if(yes AND no)
message(true)
else()
message(false)
endif() 输出为false
if(false AND no)
message(true)
else()
message(false)
endif() 下一篇文章继续学习 条件判断中的表达式。