当前位置: 首页 > news >正文

CMakeLists.txt语法规则:foreach 循环基本用法

一.  简介

cmake 中除了 if 条件判断之外,还支持循环语句,包括 foreach()循环、while()循环。
本文学习 CMakeLists.txt语法中的循环语句。
CMakeLists.txt语法中 有两种 循环实现方式:foreach循环与 while循环。

二.  CMakeLists.txt语法规则:循环语句之foreach 循环

本文主要学习 foreach循环。

1.   foreach 基本用法

foreach 循环的基本用法如下所示:
foreach(loop_var arg1 arg2 ...)command1(args ...)command2(args ...)...
endforeach(loop_var)
endforeach 括号中的 <loop_var> 可写可不写,如果写了,就必须和 foreach 中的<loop_var>一致。
参数 loop_var 是一个循环变量,循环过程中会将参数列表中的变量依次赋值给他,类似于 C 语言 for 环中经常使用的变量  i
# foreach 循环测试
foreach(loop_var A B C D)message("${loop_var}")
endforeach()
打印信息为:
A
B
C
D

使用 foreach 可以编译一个列表中的所有元素,如下所示:
# foreach 循环测试
set(my_list hello world china)
foreach(loop_var ${my_list})message("${loop_var}")
endforeach()
打印信息如下:

下一篇文章继续学习 foreach循环,主要学习 foreach循环的关键字。

相关文章:

CMakeLists.txt语法规则:foreach 循环基本用法

一. 简介 cmake 中除了 if 条件判断之外&#xff0c;还支持循环语句&#xff0c;包括 foreach()循环、while()循环。 本文学习 CMakeLists.txt语法中的循环语句。 CMakeLists.txt语法中 有两种 循环实现方式&#xff1a;foreach循环与 while循环。 二. CMakeLists.txt语法规则…...

redis集群-主从机连接过程

首先从机需要发送自身携带的replid和offset向主机请求连接 replid&#xff1a;replid是所有主机在启动时会生成的一个固定标识&#xff0c;它表示当前复制流的id&#xff0c;当从机第一次请求连接时&#xff0c;主机会将自己的replid发送给从机&#xff0c;从机在接下来的请求…...

去哪里找高清视频素材?推荐几个短视频素材免费网站

在数字时代&#xff0c;视频内容的质量直接影响观众的吸引力和留存率。尤其是高清、4K视频素材和可商用素材&#xff0c;它们在提升视觉质量和叙事深度方面起到了至关重要的作用。以下是一些国内外的顶级视频素材网站&#xff0c;它们提供的资源将为您的创作提供极大的支持和灵…...

从互联网医院源码到搭建:开发视频问诊小程序的技术解析

如今&#xff0c;视频问诊小程序作为医疗服务的一种新形式&#xff0c;正逐渐受到人们的关注和青睐。今天&#xff0c;小编将为您详解视频问诊小程序的开发流程。 一、背景介绍 互联网医院源码是视频问诊小程序开发的基础&#xff0c;它提供了一套完整的医疗服务系统框架&…...

【Linux】常见指令(二)

mv指令 mv命令是move的缩写&#xff0c;可以用来移动文件或者将文件改名&#xff08;move (rename) files&#xff09; 是Linux系统下常用的命令&#xff0c;经常用来备份文件或者目录 功能: 1.剪切文件或者目录 2.对文件或者目录进行重命名 常用选项&#xff1a; -f &#xf…...

python元类与C#、Java中的反射

Python的元类和C#中的反射 在概念上有一定的相似性&#xff0c;但它们的目的和使用方式有所不同。 Python的元类&#xff1a; 元类&#xff08;Metaclass&#xff09;是控制类创建的类。它们定义了类的创建过程&#xff0c;可以修改类的行为。元类通过定制类的创建过程&…...

Echart.js绘制时间线并绑定事件

<template><div id"app"><!-- 定义一个具有指定宽高的容器&#xff0c;用于渲染图表 --><div ref"timeline" style"width: 800px; height: 600px;"></div></div> </template><script> import *…...

Flutter弹窗链-顺序弹出对话框

效果 前言 弹窗的顺序执行在App中是一个比较常见的应用场景。比如进入App首页&#xff0c;一系列的弹窗就会弹出。如果不做处理就会导致弹窗堆积的全部弹出&#xff0c;严重影响用户体验。 如果多个弹窗中又有判断逻辑&#xff0c;根据点击后需要弹出另一个弹窗&#xff0c;这…...

1290.二进制链表转整数

给你一个单链表的引用结点 head。链表中每个结点的值不是 0 就是 1。已知此链表是一个整数数字的二进制表示形式。 请你返回该链表所表示数字的 十进制值 。 示例 1&#xff1a; 输入&#xff1a;head [1,0,1] 输出&#xff1a;5 解释&#xff1a;二进制数 (101) 转化为十进制…...

P8803 [蓝桥杯 2022 国 B] 费用报销

P8803 [蓝桥杯 2022 国 B] 费用报销 分析 最值问题——DP 题意分析&#xff1a;从N张票据中选&#xff0c;且总价值不超过M的票据的最大价值&#xff08;背包问题&#xff09; K天限制 一、处理K天限制&#xff1a; 1.对于输入的是月 日的格式&#xff0c;很常用的方式是…...

【Android】Kotlin学习之Lambda表达式

java和kotlin对比 Lambda语法 Lambda隐形参数 it 也可以不使用指定的名称it, 可以 自定义 Lambda 使用下划线...

YOLOv5-7.0改进(四)添加EMA注意力机制

前言 关于网络中注意力机制的改进有很多种&#xff0c;本篇内容从EMA注意力机制开始&#xff01; 往期回顾 YOLOv5-7.0改进&#xff08;一&#xff09;MobileNetv3替换主干网络 YOLOv5-7.0改进&#xff08;二&#xff09;BiFPN替换Neck网络 YOLOv5-7.0改进&#xff08;三&…...

TCP协议的确认应答机制

TCP&#xff08;Transmission Control Protocol&#xff09;是一种面向连接的、可靠的、基于字节流的传输层协议&#xff0c;它在网络通信中扮演着至关重要的角色。其中&#xff0c;确认应答机制是TCP协议中的一个核心概念&#xff0c;它确保了数据的可靠传输。本文将详细介绍J…...

【论文阅读笔记】MAS-SAM: Segment Any Marine Animal with Aggregated Features

1.论文介绍 MAS-SAM: Segment Any Marine Animal with Aggregated Features MAS-SAM&#xff1a;利用聚合特征分割任何海洋动物 Paper Code(空的) 2.摘要 最近&#xff0c;分割任何模型&#xff08;SAM&#xff09;在生成高质量的对象掩模和实现零拍摄图像分割方面表现出卓越…...

C语言中的精确宽度类型

概述 在 C 语言标准库 <stdint.h> 中定义了一系列精确宽度的整数类型&#xff0c;这些类型保证了它们的位数宽度&#xff0c;从而允许编写跨平台的可移植代码。以下是一些常用的精确宽度整数类型&#xff1a; int8_t: 8位有符号整数uint8_t: 8位无符号整数int16_t: 16位…...

大数据比赛-环境搭建(一)

1、安装VMware Workstation 链接&#xff1a;https://pan.baidu.com/s/1IvSFzpnQFl3svWyCGRtEmg 提取码&#xff1a;ukpo 内有安装包及破解方式&#xff0c;安装教程。 2、下载Ubuntu系统 阿里巴巴开源镜像站-OPSX镜像站-阿里云开发者社区 (aliyun.com) 点击下载&#xff…...

微信小程序原生组件使用

1、video组件使用 <view class"live-video"><video id"myVideo" src"{{videoSrc}}" bindplay"onPlay" bindfullscreenchange"fullScreenChange" controls object- fit"contain"> </video&g…...

[数据集][目标检测]纸箱子检测数据集VOC+YOLO格式8375张1类别

数据集格式&#xff1a;Pascal VOC格式YOLO格式(不包含分割路径的txt文件&#xff0c;仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数)&#xff1a;8375 标注数量(xml文件个数)&#xff1a;8375 标注数量(txt文件个数)&#xff1a;8375 标注…...

2024HW Linux应急响应基础学习

首先展示关于Linux的关键目录&#xff0c;这是应急响应查看的关键&#xff1a; 常用命令 top //查看进程资源的占用情况 ps -aux //查看进程 直接写ps aux也可以 netstat -antpl //查看网络连接 ls -alh /proc/pid //查看某个pid对应的可执行程序 pid记得修改 lsof /…...

烽火三十六技丨网络资产安全治理平台新版本发布,一文看懂四大核心优势

云计算、移动互联网、物联网等技术飞速发展&#xff0c;网络环境愈发开放互联&#xff0c;原有的资产管理方式已难以适应当下的变化。同时&#xff0c;网络资产需求的突发性和人为疏忽&#xff0c;也时常导致资产数量不明、类型模糊、安全漏洞检查不全面等问题。因此&#xff0…...

如何用kill-doc解决30+文档平台下载难题:免费高效的文档获取方案

如何用kill-doc解决30文档平台下载难题&#xff1a;免费高效的文档获取方案 【免费下载链接】kill-doc 看到经常有小伙伴们需要下载一些免费文档&#xff0c;但是相关网站浏览体验不好各种广告&#xff0c;各种登录验证&#xff0c;需要很多步骤才能下载文档&#xff0c;该脚本…...

从登录到鉴权:一个前后端分离项目的完整JWT非对称加密配置指南(Vue3 + Spring Boot)

从登录到鉴权&#xff1a;一个前后端分离项目的完整JWT非对称加密配置指南&#xff08;Vue3 Spring Boot&#xff09; 在现代Web应用开发中&#xff0c;前后端分离架构已成为主流选择。这种架构下&#xff0c;如何安全高效地处理用户认证与授权成为一个关键问题。本文将带你从…...

MIXBOX vs MisstarTools:小米路由器插件管理工具深度对比与选择建议

MIXBOX vs MisstarTools&#xff1a;小米路由器插件生态深度解析与实战指南 当小米路由器遇上第三方插件管理工具&#xff0c;整个设备的可玩性会瞬间提升几个层级。作为长期折腾智能路由的玩家&#xff0c;我几乎试遍了市面上所有主流的小米路由器增强方案&#xff0c;其中最让…...

SDMatte镜像结构解析:/opt/sdmatte-web与模型目录映射关系

SDMatte镜像结构解析&#xff1a;/opt/sdmatte-web与模型目录映射关系 1. SDMatte简介 SDMatte 是一款面向高质量图像抠图场景的 AI 模型&#xff0c;特别适合处理以下任务&#xff1a; 主体分离与提取透明物体抠图&#xff08;玻璃、薄纱等&#xff09;复杂边缘精修&#x…...

MySQL迁移到达梦数据库:DMP文件转换的3种方案对比(附性能测试数据)

MySQL到达梦数据库迁移实战&#xff1a;DMP文件转换方案深度评测 在国产化替代浪潮下&#xff0c;越来越多的企业开始将MySQL数据库迁移至达梦等国产数据库平台。作为国产数据库的领军者&#xff0c;达梦DM8在性能、安全性和兼容性方面表现出色&#xff0c;但迁移过程中数据类型…...

NTP配置避坑指南:华三/华为/思科设备时间同步差异对比

NTP配置避坑指南&#xff1a;华三/华为/思科设备时间同步差异对比 在网络运维中&#xff0c;时间同步是确保日志分析、安全审计和故障排查准确性的基础。不同厂商的设备在NTP配置上存在细微但关键的差异&#xff0c;这些差异往往成为混合环境部署中的"暗坑"。本文将深…...

Diagrams:轻量化且多语言支持的Visio替代方案

1. 为什么你需要一个Visio替代方案&#xff1f; 如果你经常需要画流程图、架构图或者UML图&#xff0c;肯定对Microsoft Visio不陌生。作为一款老牌绘图工具&#xff0c;Visio确实功能强大&#xff0c;但它的缺点也同样明显。首先就是价格问题&#xff0c;正版Visio的订阅费用不…...

win11 WSL ubuntu24.04 安装两个、重命名

导出&#xff1a; wsl --export Ubuntu-24.04 D:\Ubuntu-24.04.tar导入新镜像&#xff1a; wsl --import Ubuntu-24.04-2 D:\Ubuntu-24.04-2\Ubuntu-24.04-2 D:\Ubuntu-24.04.tar...

ThreadLocal 源码分析与内存泄漏问题

前言 ThreadLocal 是 Java 中实现线程局部变量的重要工具&#xff0c;被广泛应用于事务管理、链路追踪、用户上下文等场景。然而&#xff0c;面试中关于 ThreadLocal 的追问往往直指其底层设计和内存泄漏问题。 本文将深入分析 ThreadLocal 的源码实现&#xff0c;揭示内存泄…...

AceMenu:嵌入式轻量级菜单框架设计与实践

1. AceMenu 库概述&#xff1a;面向嵌入式人机交互的轻量级菜单框架AceMenu 是一个专为资源受限嵌入式系统设计的轻量级、可移植菜单管理库。其核心设计哲学是“以最少的硬件资源开销&#xff0c;实现最直观的用户导航体验”。不同于通用 GUI 框架&#xff08;如 LVGL 或 Touch…...