【cmake】获取到某个目录下的所有子目录名

news2025/1/6 19:58:06

整体工程目录结构如下。现打算获取到vac目录下的所有子目录名。

cmake 实现如下: 

# 设定要遍历的目录,保存到 VAC_INCLUDE_DIR 变量
set(VAC_INCLUDE_DIR ${CMAKE_SOURCE_DIR}/vac)

# 获取到当前目录下的所有文件和目录(以相对路径的方式),保存到 ALL_ITEMS 变量
file(GLOB ALL_ITEMS RELATIVE ${VAC_INCLUDE_DIR} ${VAC_INCLUDE_DIR}/*)

# 遍历所有的文件
foreach(ITEM ${ALL_ITEMS})
    # 判断是否为目录
    if(IS_DIRECTORY ${VAC_INCLUDE_DIR}/${ITEM})
        message(WARNING ${ITEM})
    endif()
endforeach()

注意: 

直接使用下面这种写法,保存到 ALL_ITEMS 中的将会是绝对路径,如C:/project/vac/dir1

file(GLOB ALL_ITEMS ${VAC_INCLUDE_DIR}/*)

加入 RELATIVE ${VAC_INCLUDE_DIR} 以后,获取到的路径将会将相对于${VAC_INCLUDE_DIR},此时保存到 ALL_ITEMS 中的将会是一个单独的目录名,而不带路径前缀

file(GLOB ALL_ITEMS RELATIVE ${VAC_INCLUDE_DIR} ${VAC_INCLUDE_DIR}/*)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1282492.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Apache Hive(部署+SQL)

Hive架构 Hive部署 VMware虚拟机部署 一、在node1节点安装mysql数据库 二、配置Hadoop 三、下载 解压Hive 四、提供mysql Driver驱动 五、配置Hive 六、初始化元数据库 七、启动Hive(Hadoop用户) chown -R hadoop:hadoop apache-hive-3.1.3-bin hive 阿里云部…

揭秘:大厂设计师是如何制定UI风格的?

当你碰到一个新的项目或产品战略需要进行重大的改变时,作为UI设计师,你要如何重新思考产品的视觉风格?从何处开始?存在哪些重要注意点?今天我们有幸请到Pixso的设计师,他们将以出租车应用程序的风格设计过程…

基于SSM的数学竞赛网站设计与实现

末尾获取源码 开发语言:Java Java开发工具:JDK1.8 后端框架:SSM 前端:Vue 数据库:MySQL5.7和Navicat管理工具结合 服务器:Tomcat8.5 开发软件:IDEA / Eclipse 是否Maven项目:是 目录…

STM32使用SIM900A、SIM800C、SIM800A完成短信发送、连接onenet上传数据、拨打电话_完整教程

一、前言 本篇文章介绍SIM800C 、SIM800A、SIM900A 等等系列的模块的常用AT指令,讲解模块的使用方法,演示短信发送、拨打电话、网络连接,与服务器通信等常用案例。 如果只是用到发送短信、拨打电话、连接网络通信、这些模块的AT指令是兼容的。 文章最后贴了完整的STM32代码…

双指针算法: 快乐数 与 盛水最多的容器

🎈个人主页:🎈 :✨✨✨初阶牛✨✨✨ 🐻推荐专栏1: 🍔🍟🌯C语言初阶 🐻推荐专栏2: 🍔🍟🌯C语言进阶 🔑个人信条: 🌵知行合一 前言 声明…

Net8 EFCore Mysql 连接

一、安装插件 Pomelo.EntityFrameworkCore.MySq (这里要选8.0.0以上版本低版本不支持.net8) 二、配置数据库连接串 appsettings.json 中配置数据库连接串 "ConnectionStrings": {"Connection": "server172.18.2.183;port3306;databasestudents;uid…

基于单片机远程温控检测系统

**单片机设计介绍,基于单片机远程温控检测系统(含上位机) 文章目录 一 概要二、功能设计设计思路 三、 软件设计原理图 五、 程序六、 文章目录 一 概要 基于单片机的远程温控检测系统可以用于远程监测和控制温度,实现远程温度监…

【C++初阶】六、类和对象(初始化列表、static成员、友元、内部类)

相关代码gitee自取: C语言学习日记: 加油努力 (gitee.com) 接上期: 【C初阶】五、类和对象 (日期类的完善、流运算符重载函数、const成员、“&”取地址运算符重载)-CSDN博客 目录 ​​​​​​​一 . 初始化列表 构造函数…

【运筹优化】运筹学导论:求解线性规划问题 - 单纯形法

文章目录 一、单纯形法的实质(几何原理)1.1 示例的求解1.2 关键的解原理1.2.1 解原理11.2.2 解原理21.2.3 解原理31.2.4 解原理41.2.5 解原理51.2.6 解原理6 二、构建单纯形法(代数原理)三、单纯形法的代数形式3.1 初始化3.2 最优…

SPM/SCM 流量跟踪体系

SPM SPM(shopping page mark,导购页面标记) 是淘宝社区电商业务(xTao)为外部合作伙伴(外站)提供的跟踪引导成交效果数据的解决方案 注:也有解释 SPM 为超级位置模型(Super Position…

研习代码 day47 | 动态规划——子序列问题3

一、判断子序列 1.1 题目 给定字符串 s 和 t ,判断 s 是否为 t 的子序列。 字符串的一个子序列是原始字符串删除一些(也可以不删除)字符而不改变剩余字符相对位置形成的新字符串。(例如,"ace"是"abcde&…

无需公网IP!Apache服务器本地部署与内网穿透实现公网访问

Apache服务安装配置与结合内网穿透实现公网访问 文章目录 Apache服务安装配置与结合内网穿透实现公网访问前言1.Apache服务安装配置1.1 进入官网下载安装包1.2 Apache服务配置 2.安装cpolar内网穿透2.1 注册cpolar账号2.2 下载cpolar客户端 3. 获取远程桌面公网地址3.1 登录cpo…

VPS简介:基于Amazon Ligtsail的概述

当你作为一个开发者,你想要开发自己的系统,构建自己的系统架构时,你会有以下两种选择:第一种就是亲自去挑选组件,例如:云服务器、存储、IP地址等等,然后再花时间自己组装起来,就像该…

天翼云:“百万IOPS”助推政企上云

随着数字化转型的加速,越来越多的企业选择了业务上云。众所周知,不论是政企关键/核心业务中的大型数据库、NoSQL、AI训练,还是互联网业务中的游戏、渲染等场景,对数据读写IOPS和时延有极高的要求。作为全球领先的云服务商&#xf…

如何打印社保参保凭证

西安市: 陕西政务服务网: 个人服务 珠海市: 广东政务服务网: 用户登录 | 珠海市人力资源和社会保障网上服务平台 武汉市: 湖北政务服务网: 湖北政务服务网

Android实验:绑定service实验

目录 实验目的实验内容实验要求项目结构代码实现代码解释结果展示 实验目的 充分理解Service的作用,与Activity之间的区别,掌握Service的生命周期以及对应函数,了解Service的主线程性质;掌握主线程的界面刷新的设计原则&#xff…

JavaWeb 前端工程化

前端工程化是使用软件工程的方法来单独解决前端的开发流程中模块化、组件化、规范化、自动化的问题,其主要目的为了提高效率和降低成本。 前端工程化实现技术栈 前端工程化实现的技术栈有很多,我们采用ES6nodejsnpmViteVUE3routerpiniaaxiosElement-plus组合来实现 ECMAScri…

游戏被流量攻击会有什么样的影响,该用什么样的防护方式去处理

德迅云安全-领先云安全服务与解决方案提供商德迅云游戏盾专门针对游戏进行防护,可免费提供防护方案~ 如果游戏被流量攻击会产生以下影响: 服务器过载:流量攻击会导致游戏服务器接收到的请求数量急剧增加,超出服务器的处理能力。这…

Reactor实战,创建一个简单的单线程Reactor(理解了就相当于理解了多线程的Reactor)

单线程Reactor package org.example.utils.echo.single;import java.io.IOException; import java.net.InetSocketAddress; import java.nio.channels.*; import java.util.Iterator; import java.util.Set;public class EchoServerReactor implements Runnable{Selector sele…

Python中PyQt5可视化界面通过拖拽来上传文件

注:这个窗口提供了一个快速上传文件的小tips,如果需要对上传的文件进行进一步处理的可以在“processFiles”函数或者编写其它函数进行扩充就可以。 1、需要安装模块 pip install PyQt5 2、运行效果 1、通过拖拽的方式上传需要的文件到窗口,会…