一、介绍

CMake的文件操作命令

Readingfile(READ <filename> <out-var> [...])file(STRINGS <filename> <out-var> [...])file(<HASH> <filename> <out-var>)file(TIMESTAMP <filename> <out-var> [...])Writingfile({WRITE | APPEND} <filename> <content>...)file({TOUCH | TOUCH_NOCREATE} [<file>...])file(GENERATE OUTPUT <output-file> [...])Filesystemfile({GLOB | GLOB_RECURSE} <out-var> [...] [<globbing-expr>...])file(RENAME <oldname> <newname>)file({REMOVE | REMOVE_RECURSE } [<files>...])file(MAKE_DIRECTORY [<dir>...])file({COPY | INSTALL} <file>... DESTINATION <dir> [...])file(SIZE <filename> <out-var>)file(READ_SYMLINK <linkname> <out-var>)file(CREATE_LINK <original> <linkname> [...])Path Conversionfile(RELATIVE_PATH <out-var> <directory> <file>)file({TO_CMAKE_PATH | TO_NATIVE_PATH} <path> <out-var>)Transferfile(DOWNLOAD <url> <file> [...])file(UPLOAD <file> <url> [...])Lockingfile(LOCK <path> [...])

二、实例

  file(READ <filename> <out-var> [...])

READ 会读取文件的内容并将其存入到变量中

  file(STRINGS <filename> <out-var> [...])

STRINGS 从文件中解析出ASCII字符串列表并存储在变量中

file(WRITE filename "message towrite"... )

WRITE 将一则信息写入文件’filename’中,如果该文件存在,它会覆盖它,如果不存在,它会创建该文件。

file(APPEND filename "message to write"... )

APPEND 如同WRITE,区别在于它将信息内容追加到文件末尾。

file(MAKE_DIRECTORY [directory1 directory2 ...])

MAKE_DIRECTORY在指定目录处创建子目录,如果它们的父目录不存在,也会创建它们的父目录。

file(RELATIVE_PATH variable directory file)

RELATIVE_PAT推断出指定文件相对于特定目录的路径。

file(TO_CMAKE_PATH path result)

TO_CMAKE_PATH会将路径转换成cmake风格的路径表达形式。

file(GLOB variable [RELATIVE path] [globbingexpressions]...)

GLOB 会产生一个由所有匹配globbing表达式的文件组成的列表,并将其保存到变量中。Globbing 表达式与正则表达式类似,但更简单。

测试的例子:

file(WRITE test1.txt "Some messages to Write\n" ) file( TO_CMAKE_PATH "$ENV{PROGRAMFILES}" ANDROID_NDK_SEARCH_PATHS )file(GLOB SOURCES “*.cu” “*.cpp” “*.c” “*.h”)file(APPEND test1.txt "Another message to write\n")  file(STRINGS test1.txt PARSED_STRINGS)
message(STATUS "\n strings of test1.txt is: \n ${PARSED_STRINGS}")  file(GLOB files RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} "*.*")
message(STATUS  "files: ${files}")  file(MAKE_DIRECTORY dir1 dir2)  file(RENAME dir2 dir3)  file(REMOVE dir3)  file(REMOVE_RECURSE dir3)  file(RELATIVE_PATH relative_path ${PROJECT_SOURCE_DIR} file(COPY test1.txt DESTINATION ${CMAKE_CURRENT_SOURCE_DIR}/dir1)  file(INSTALL test1.txt DESTINATION ${CMAKE_CURRENT_SOURCE_DIR}/dir1)

参考:

file — CMake 3.14.7 Documentation

CMakeFile命令之file_P.TAN的博客-CSDN博客_cmake file

cmake的file命令相关推荐

  1. CMake中file的使用

    CMake中的file命令用于文件操作,其文件格式如下:此命令专用于需要访问文件系统的文件和路径操作 Readingfile(READ <filename> <variable> ...

  2. CMake 的常用命令

    目录 0. CMake常用的命令或函数: 1. 定义项目 - project 2.多个目录 - add_subdirectory 3.常用命令 - add_executable.add_library ...

  3. linux中的file命令

    file命令用于查看文件类型,今天了解到了,自己动手测了一下,写篇文章记录一下. [xxx@localhost staticLibrary]$ ls a.out libtest.a libtest.s ...

  4. linux用file命令,Linux file命令的使用

    1.命令简介 file命令用来识别文件类型,对文件的检查分为文件系统.魔法幻数检查和语言检查三个过程,也可用来辨别一些文件的编码格式.它是通过查看文件的头部信息来获取文件类型,而不是像Windows通 ...

  5. linux 查看文件中数据类型,Linux下使用file命令确定文件中数据的类型-文件类型...

    青年是学习智慧的时期,中年是付诸实践的时期.--卢梭 在Linux系统中查看一个文件之前,要先确定该文件中数据的类型,之后再使用适当的命令或方法打开该文件. 与windows系统不同,在Linux系统 ...

  6. 【Linux】一步一步学Linux——file命令(37)

    00. 目录 文章目录 00. 目录 01. 命令概述 02. 命令格式 03. 常用选项 04. 参考示例 05. 附录 01. 命令概述 file - 确定文件类型 file命令用来识别文件类型, ...

  7. linux命令详解:file命令

    前言 file命令可以获取多种文件类型,包括文本文件.脚本文件.源码文件.多媒体文件(音频视频)等.file是通过查看文件的头部内容,来获取文件的类型,而不像Window那样是通过扩展名来确定文件类型 ...

  8. linux之file命令总结

    解释: file是通过查看文件的头部内容,来获取文件的类型使用file命令可以知道某个文件究竟是二进制(ELF格式)的可执行文件, 还是Shell Script文件,或者是其它的什么格式. file能 ...

  9. Linux 命令之 file 命令-识别文件类型

    文章目录 介绍 语法格式 常用选项 参考示例 (一)显示文件类型 (二)显示符号链接的文件类型 介绍 file 命令用来识别文件类型,也可用来辨别一些文件的编码格式.它是通过查看文件的头部信息来获取文 ...

最新文章

  1. AI入侵机械设计,苦逼的“机械狗”还有未来吗?
  2. andriod 接入mqtt_Android 连接阿里云 mqtt失败
  3. Zuul Gateway 网关
  4. 数据挖掘介绍以及模型参数详解
  5. Thrift入门及Java实例演示
  6. php实现文本替换,php文本替换 函数 strtr()、str_repalce()
  7. mysql集群和主从区别_搭建MySQL主从集群,主从复制过程中同步延迟问题
  8. VS2010 Beta1 / .NET Framework 4 Beta 1 - 下载
  9. 【英语学习】【Level 07】U03 Amazing wonders L1 My hometown
  10. 19-6/24作业: 将一个double类型的小数,按照四舍五入保留两位小数
  11. angular-代码段
  12. yml不变成小叶子_关于鹤望兰,你不知道的小秘密,花农告诉你,大叶子不开花...
  13. Akka定义Actors和消息《two》译
  14. Windows7中安装内存与可用内存不一致的解决办法
  15. 测试丢包_如何使用ping和tracert命令检测丢包
  16. 《FLUENT 14流场分析自学手册》——第2章 流体流动分析软件概述 2.1 CFD软件简介...
  17. java nginx报502,Nginx 502错误排查及解决办法
  18. 服务器主动推送消息数据给客户端
  19. 解决网页缩放百分比页面变形问题
  20. python cvxpy 报错 The solver GLPK_MI is not installed

热门文章

  1. Linux-CentOS7离线安装RabbitMq
  2. stata F值缺失_Stata:刀切法-去一法-Jackknife 简介
  3. 共享windows无线网络给ubuntu有线网卡
  4. 七牛云 -- 对象存储管理工具介绍
  5. 公司局域网控制电脑开机与关机 不用购买第三方开机设备 远程办公必备
  6. C语言 字节对齐问题 详解
  7. codeforces723 D. Lakes in Berland(并查集)
  8. XMind 8快捷键史上最全
  9. dvr和nvr的区别
  10. 根据文章H标签自动生成导航目录