CMakeLists.txt 语法

在这里插入图片描述

在这里插入图片描述

接下来 在AndroidStudio 上新建一个项目,选择C++项目,等待项目初始化完成
在这里插入图片描述
构建完成后,我们可以看到 在main这个目录下多了cpp这个文件夹,CMakeLists.txt 便是系统为我们默认创建好的

在这里插入图片描述

Cmake 注释

单行注释   # 注释类容     
多行注释  #[[ 多行注释
		     多行注释
					]]

Cmake 变量的定义与使用

cmake中所有变量都是string类型的,可以使用 set() 来声明一个变量, unset() 来移除一个变量
变量的引用 使用美元符号 ${引用的变量名字}

set(var 123456789)#声明一个变量  var表示变量名字  后面变量的值
message("var=${var}")#message() 输出变量的值   ${var}表示引用这个变量

在这里插入图片描述

在这里插入图片描述
可以看到 我们在 CMakeLists.txt 中定义变量并打印变量的值,控制台 打印 出了 123456789这个值

Cmake 中的列表 (lists)

语法格式1 set(列表名 值1 值2 值3)

set (list 1 2 3)

语法格式2 set(列表名 “值1;值2;值3”)

set (list "1;2;3")

定义列表并打印列表到控制台

set(list 1 2 3 4 5 6 7 8 9)
message("list=${list}")

在这里插入图片描述

Cmake 流程控制-操作符

在这里插入图片描述

表达式中可以包含操作符,操作符包括:
一元操作符,例如:EXISTS、COMMAND、DEFINED 等
二元操作符,例如:EQUAL、LESS、GREATER、STRLESS、STRGREATER 等NOT(非操作符)AND(与操作符)、OR(或操作符)操作符优先级:一元操作符 > 二元操作符 > NOT > AND、OR

Cmake 布尔常量值

在这里插入图片描述

Cmake 条件命令

在这里插入图片描述

set(if_tap OFF) #定义 if_tap 为false
set(elseif_tap ON)#定义 elseif_tap 为true
#得到打印结果  elseif

if(${if_tap})
    message("if")
elseif(${elseif_tap})
    message("elseif")
endif()

Cmake 流程控制–循环命令

在这里插入图片描述

set(a "")#定义变量a为空
while(NOT a STREQUAL "xxx")#循环判断 a不等于 xxx 就每次加a后面加上一个x  然后输出
    set(a "${a}x")
        message(("a=${a}"))
endwhile()

在这里插入图片描述

Cmake 流程控制–循环遍历一

在这里插入图片描述

foreach(item 1 2 3) #循环打印出 1 2 3 
    message("item=${item}")
endforeach(item)

在这里插入图片描述

Cmake 流程控制–循环遍历二

在这里插入图片描述

foreach(item RANGE 10)#打印从 0 到 10 之间的整数
    message("item=${item}")
endforeach(item)

在这里插入图片描述

Cmake 流程控制–循环遍历三

在这里插入图片描述

foreach(item RANGE 1 5 2) # 1-5的范围 每次增量加2 打印出来
    message("item=${item}")
endforeach(item)

在这里插入图片描述

Cmake 流程控制–循环遍历四

在这里插入图片描述

set(list_var 1 2 3 4)
foreach(item IN LISTS list_var) #从列表里循环打印出来
    message("item=${item}")
endforeach(item)

在这里插入图片描述

Cmake 流程控制–自定义函数命令

在这里插入图片描述

function(fun a b c) # 函数名 fun 三个参数 a b c
    message("a=${a}")
    message("a=${b}")
    message("a=${c}")
endfunction()
fun(11 22 33) #调用函数 传入参数 打印出传入的参数

在这里插入图片描述
再执行打印这句话

 message("ARGC=${ARGC}")#ARGC 是cmake里面的内置变量 表示的时传入参数的个数 这里是3个参数

在这里插入图片描述
再加入

 message("ARGV=${ARGV}")#输出所有传入参数

在这里插入图片描述

    message("ARGV0=${ARGV0}") #打印第一个参数 11
    message("ARGV1=${ARGV1}") #打印第二个参数 22
    message("ARGV2=${ARGV2}") #打印第三个参数 33
    message("ARGV3=${ARGV3}")#没有匹配的参数了 打印空值

在这里插入图片描述

Cmake 流程控制–自定义宏命令

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值