CMakeLists.txt语法规则:foreach循环的关键字

ops/2025/2/27 22:51:30/

 一.  简介

前一篇文章学习了 CMakeLists.txt语法中 foreach循环的基本用法。文章如下:

CMakeLists.txt语法规则:foreach 循环基本用法-CSDN博客

本文继续 CMakeLists.txt语法中 foreach循环语句,主要学习 foreach循环中的关键字。

二.  CMakeLists.txt语法规则:foreach循环语句的关键字

1. foreach 循环之 RANGE 关键字

用法如下所示:

foreach(loop_var RANGE stop)
foreach(loop_var RANGE start stop [step])

对于第一种方式,循环会从 0 到指定的数字 stop,包含 stop,stop 不能为负数。

而对于第二种,循环从指定的数字 start 开始到 stop 结束,步长为 step,不过 step 参数是一个可选参数,如果不指定,默认 step=1;三个参数都不能为负数,而且 stop 不能比 start 小。

接下来我们进行测试,测试一:

# foreach 循环测试
foreach(loop_var RANGE 4)message("${loop_var}")
endforeach()

打印信息如下:

测试二:

# foreach 循环测试
foreach(loop_var RANGE 1 4 1)
message("${loop_var}")
endforeach() 

打印信息如下:

2.  foreach 循环之 IN 关键字

用法如下:

foreach(loop_var IN [LISTS [list1 [...]]][ITEMS [item1 [...]]])
循环列表中的每一个元素,或者直接指定元素。
接下来进行测试,测试一:
# foreach 循环测试
set(my_list A B C D)
foreach(loop_var IN LISTS my_list)message("${loop_var}")
endforeach()

打印信息如下:

测试二:
# foreach 循环测试
foreach(loop_var IN ITEMS A B C D)
message("${loop_var}")
endforeach() 

打印信息同上。

foreach循环暂时学习到这里。


http://www.ppmy.cn/ops/36743.html

相关文章

20个入门级Python项目

很多刚刚入门python的同学除了书上、老师讲解的1、2个demo示例之外,基本上很难找到适合练手的入门级Python项目。 作者不辞辛苦,花了很长时间整理了20个适合练手的实例项目 下面这20个练手项目全部去是免费的,大家可以任意下载,…

Python | Leetcode Python题解之第66题加一

题目: 题解: class Solution:def plusOne(self, digits: List[int]) -> List[int]:n len(digits)for i in range(n - 1, -1, -1):if digits[i] ! 9:digits[i] 1for j in range(i 1, n):digits[j] 0return digits# digits 中所有的元素均为 9retu…

基于vue.js+thymeleaf模板引擎+ajax的注册登陆简洁模板(含从零到一详细介绍)

文章目录 前言1、数据库准备2、工具类与相关基类使用2.1、工具类2.2、相关基类 3、web包目录说明4、注册功能设计(本文核心部分)4.1、注册页面设计4.2、注册逻辑设计 5、登陆功能设计5.1、登陆页面设计5.2、登陆逻辑设计 6、运行效果图 前言 大多数的网…

VBA批量合并、取消合并Excel表单元格

Excel工作表数据快完成时,工作表模版修改了,VBA快速修改之合并、取消合并单元格。 1、指定工作表单元格的合并、取消合并。只需要最简单的代码Selection.Merge(合并单元格)、Selection.UnMerge (取消合并单元格) Function MergeA() 指定工作表合并单元格 WorkSheets…

SharedPreferences源码解析

前言 文章中部分地方SharedPreferences会简写成SP,先抛出几个问题: SP存储的是什么文件,存储在哪个位置?SP是线程安全的吗?SP是如何保证数据安全的?使用SP有哪些问题?SP会把数据加载到内存中吗…

电路板第一次调试注意事项

电路板第一次调试注意事项 调板经验其他人的经验一、上电前检查1、目测检查2、电源短路检查3、连线检查4、元器件安装检查 二、通电后检测1、通电观察2、静态调试3、动态调试 调板经验 1.打开原理图 PCB,熟悉一遍。 2.拿到板,找到输入正负极&#xff0…

一、Redis五种常用数据类型

Redis优势: 1、性能高—基于内存实现数据的存储 2、丰富的数据类型 5种常用,3种高级 3、原子—redis的所有单个操作都是原子性,即要么成功,要么失败。其多个操作也支持采用事务的方式实现原子性。 Redis特点: 1、支持…

vue-cli2,vue-cli3,vite 生产环境去掉console.log

console.log一般都是在开发环境下使用的,在生产环境下需要去除 ,如果手动删除未免也太累了,我们可以用插件对于具体环境全局处理。 vue-cli2 项目build 下面webpack.prod.config.js 文件中: plugins: [new webpack.DefinePlugin({process.en…