【CMake 入门与进阶(8)】 CMakeLists.txt 语法规则(附使用代码)

本文介绍了CMake中双引号在命令参数和引用变量中的作用,以及如何在条件判断中使用表达式进行逻辑操作。双引号用于将包含空格的参数视为一个整体,而在引用变量时,决定是否保留列表结构。文章还详细阐述了CMake的条件判断语法,包括NOT、AND、OR等逻辑操作符以及各种表达式的用法。
摘要由CSDN通过智能技术生成

双引号的作用

        CMake 中,双引号的作用我们可以从两个方面进行介绍,命令参数和引用变量。

        命令参数

        调用命令时,参数可以使用双引号,譬如:

project("HELLO")

        也可以不使用双引号,譬如:

project(HELLO)

        那它们有什么区别呢?在本例中是没有区别的,命令中多个参数之间使用空格进行分隔,而 cmake 会将双引号引起来的内容作为一个整体,当它当成一个参数,假如你的参数中有空格(空格是参数的一部分),那么就可以使用双引号,如下所示:

message(Hello World)
message("Hello World")

        在这个例子中,第一个 message 命令传入了两个参数,而第二个 message 命令只传入一个参数;在第一 个 message 命令中,打印信息时,会将两个独立的字符串 Hello 和 World 都打印出来,而且 World 会紧跟在 Hello 之后,如下:

HelloWorld

        而第二个 message 命令只有一个参数,所以打印信息如下:

Hello World

        这就是双引号在参数中的一个作用。

        引用变量

        我们先来看个例子,如下所示:

# CMakeLists.txt
set(MY_LIST Hello World China)
message(${MY_LIST})

        这个例子的打印信息如下:

Hello;World;China

        因为此时${MY_LIST}是一个列表,我们用"${MY_LIST}"这种形式的时候,表示要让 CMake 把这个数组的所有元素当成一个整体,而不是分散的个体。于是,为了保持数组的含义,又提供一个整体的表达方式, CMake 就会用分号“;”把这数组的多个元素连接起来。

        而如果不加双引号时,CMake 不会数组当成一个整体看待,而是会将数组中的各个元素提取出进行打印输出。

条件判断

        在 cmake 中可以使用条件判断,条件判断形式如下:

if(expression)
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值