首页 > 编程语言 >Cmake 实操 -- 使用文件操作命令添加源码文件并移除失效问题记录

Cmake 实操 -- 使用文件操作命令添加源码文件并移除失效问题记录

时间:2024-11-06 15:20:20浏览次数:1  
标签:test1 文件 操作命令 GLOB fileList 移除 cpp

搜索文件

使用file(GLOB_RECURSE fileList searchDir/*.cpp)搜索searchDir目录下所有cpp文件,将路径保存到fileList中。
GLOB_RECURSE:启用递归搜索。
ps:searchDir不会被展开,如果searchDir中存在C/test/../test1,保存到fileList中的文件路径将仍然带有C/test/../test1,而不是C/test1.

移除文件

list(REMOVE_ITEM fileList ${removeList})
使用上述命令可从fileList移除不需要的文件路径。
ps:该移除命令不对文件的实际路径做判断,只对fileList和removeList中保存的字符串做匹配。
即:

file(GLOB_RECURSE fileList C/test/../test1/*.cpp)
file(GLOB_RECURSE removeList C/test1/*.cpp)
list(REMOVE_ITEM fileList ${removeList})

假设test1下存在a.cpp,list(REMOVE_ITEM)将无法移除fileList 中的"C/test/../test1/a.cpp",因为removeList 中存放的是"C/test1/a.cpp"。

因此,同时使用file(GLOB_RECURSE )与list(REMOVE_ITEM) 是,建议先定义prefixDir作为根目录,在根目录向下以绝对路径的方式给出搜索路径。


REAL_PATH、RELATIVE_PATH

REAL_PATH、RELATIVE_PATH可分别将路径转换为绝对路径与相对路径,或可以一种更简洁的方法处理上述情形。
仅做记录,暂未尝试,后续补充。

标签:test1,文件,操作命令,GLOB,fileList,移除,cpp
From: https://www.cnblogs.com/fir-loading/p/18530243

相关文章

  • 《古剑奇谭网络版》qt5widgets.dll文件丢失全方位解决方法大全
    《古剑奇谭网络版》是一款大型多人在线角色扮演游戏。如果在运行该游戏时遇到qt5widgets.dll文件丢失的错误提示,这通常意味着你的系统缺少了Qt框架中的一个必要组件。Qt是一个跨平台的应用程序开发框架,广泛用于图形用户界面(GUI)的创建。要解决qt5widgets.dll文件丢失的问题,你可......
  • XML文件——增删改查
    XML文件——增删改查1将数据库表student_table的增删改查用XML来实现:2其中,conditionMap存储条件语句,where"xxx"="xxx"(whereconditionMap.begin()->first==conditionMap.begin()->second)34#include<iostream>5#include"tinyxml.h&quo......
  • 在 Windows Server 2025 中,默认情况下,操作系统会为共享资源(如文件共享和打印共享)设置
    在WindowsServer2025中,默认情况下,操作系统会为共享资源(如文件共享和打印共享)设置一个最大并发连接数限制。这通常是出于系统性能和稳定性的考虑。在一些版本的WindowsServer中,您可能会看到类似于167772这样的默认限制,这个值通常对应于可同时连接到共享资源的用户数量......
  • 文件操作和 IO(二):文件内容操作 => 流对象
    目录1.流1.1什么是流1.2字节流/字符流2.InputStream(字节流-读/输入)2.1打开文件2.2关闭文件2.2.1trywithresources2.3读文件2.3.1 intread()2.3.2intread(byte[]b)2.3.3 read(byte[]b,intoff,intlen)3.OutputStream(字节流-写/输出)3.......
  • 将doc文件转换为docx文件
    将.doc文件转换为.docx文件通常不会导致兼容性变差,反而可能提升兼容性。以下是一些关键点:文件格式更新:.docx是Microsoft在2007年引入的新版文件格式,基于开放XML标准,具有更好的跨平台兼容性和开放性。与旧的.doc格式相比,.docx文件通常更小,支持更多的格式和功......
  • dxf格式文件转dwg格式文件
    1创建dxf,可以使用netdxf创建dxf文件https://github.com/haplokuon/netDxf官网例子如下:publicstaticvoidMain(){ //yourDXFfilename stringfile="sample.dxf"; //createanewdocument,bydefaultitwillcreateanAutoCad2000DXFversion DxfDocument......
  • Python socket传输图像文件
    客户端发送图像文件importsocketdata=numpy.frombuffer(stringData,numpy.uint8)#将获取到的字符流数据转换成1维数组#decimg=cv2.imdecode(data,cv2.COLOR_BGR2GRAY)#将数组解码成图像#cv2.imwrite("./test.jpg",decimg)#imencode()将图片格式转换(编码)成流数据,......
  • 解决修改php.ini配置文件不生效的问题
    公司禅道研发反馈任务创建的多了就报:Allowedmemorysizeof33554432bytesexhausted(triedtoalloate3643528bytes)inlib/base/front/front.class.phponline1315whenvisiting/index.php?m=execution&f=task&id=28;通过报错即可得知,php的memory_limit默认是32M已......
  • 御剑后台扫描工具-配置文件的格式解释
    当然,以下是这些缩写的中文含义:ASP:ASP代表活动服务器页面(ActiveServerPages)。它是由微软开发的服务器端脚本引擎,允许开发者创建动态、交互式的网页服务器应用程序。Gov:这并不是网页开发术语,但当在网址中看到时,"gov"是美国政府实体使用的顶级域名(Top-LevelDomain)。例如......
  • .net文件转Base64
    看publicclassFileUtil{///<summary>///文件转换成Base64字符串///</summary>///<paramname="fileName">文件绝对路径</param>///<returns></returns>publicstaticStringFileToBase64(stringfil......