CMake configure_file命令
cmake configure_file在编写比较复杂的工程构建时经常用到,通常时将一个输入文件input 拷贝到指定位置并生成output,简单命令格式为:
configure_file(input output options)
- input: 为输入的文件,可以带相对路径
- output:输出文件,可以带相对路径
- option为在copy过程中根据实现需要进行选择主要由以下几个选择:
COPYONLY: 完全不动的,将input文件拷贝到output文件中,不做任何修改
@ONLY: 将input文件中使用@VAR@或者${VAR}标识的变量值,给替换调,如果变量在configure_file之前未定义,则未空字符
ESCAPE_QUOTES: 躲过任何反斜杠(C风格)转义
NEWLINE_STYLE <style>: 具体指定输出文件的换行格式,在UNIX和LF中使用’\n‘换行,在DOS、WIN32 或者CRLF中使用’\r\n‘换行。 所以style可以指定为UNIX、LF、DOS、WIN32 或者CRLF。
configure_file 命令行最全格式为:
configure_file(<input> <output>[NO_SOURCE_PERMISSIONS | USE_SOURCE_PERMISSIONS |FILE_PERMISSIONS <permissions>...][COPYONLY] [ESCAPE_QUOTES] [@ONLY][NEWLINE_STYLE [UNIX|DOS|WIN32|LF|CRLF] ])
NO_SOURCE_PERMISSIONS:是cmake 3.19版本之后新添加的,主要意思是output文件不采用input的文件权限,使用默认标准权限为644(-rw-r--r-);
USE_SOURCE_PERMISSIONS: 是cmake 3.20新添加的,主要是output文件采用源文件input的文件权限,默认是采用源文件权限。
FILE_PERMISSIONS <permissions>: cmake 3.20之后新添加功能,主要是指定输出的output文件权限。
CMake configure_file命令相关推荐
- 【使用CMake组织C++工程】2:CMake 常用命令和变量
前言 前面的文章介绍了一个最简单的CMake工程,这篇文章将介绍一个稍微复杂一些的CMake工程,结合这个工程总结一下在组织一个C/C++工程时最为常用的一些CMake命令和变量.对于涉及到的命令和变 ...
- CMake常用命令整理
CMake常用命令整理 转自:https://zhuanlan.zhihu.com/p/315768216 CMake 是什么我就不用再多说什么了,相信大家都有接触才会看一篇文章.对于不太熟悉的开发人 ...
- CMake 常用命令和变量
前言 前面的文章介绍了一个最简单的CMake工程,这篇文章将介绍一个稍微复杂一些的CMake工程,结合这个工程总结一下在组织一个C/C++工程时最为常用的一些CMake命令和变量.对于涉及到的命令和变 ...
- CMake | include_guard命令详解
目录 一.命令详解 二.简单使用 1.CMakeLists.txt 2.cmake/custom.cmake 3.配置 三.为低于3.10的版本自定义"包含保护"机制 1.cmak ...
- cmake:命令行工具cmake
概要 Generate a Project Buildsystemcmake [<options>] <path-to-source>cmake [<options> ...
- CMake常用命令(五)add_executable命令 生成可执行文件
文章目录 语法 作用 举例 1. 普通可执行目标文件 语法 作用 参数 举例 1. 基础用法 2. EXCLUDE_FROM_ALL参数用法 2. 导入可执行目标文件 语法 作用 参数 举例 3. 别 ...
- CMake常用命令总结
1.首先用cmake_minimum_required (VERSION 3.14.1)指定所需cmake的最小版本. 2.project(name CXX C)指定工程名称,这个会影响PROJECT ...
- cmake通过命令行构建静态库/动态库
指定编译为动态库 -DBUILD_SHARED_LIBS=true 指定编译位置 -DCMAKE_INSTALL_PREFIX=/home
- cmake 常用命令
1. 使用日期 # 获取时间 string(TIMESTAMP DATE_TIME "%y-%m-%d %H:%M")# 获取日期 string(TIMESTAMP DATE_VE ...
最新文章
- 影像组学视频学习笔记(24)-文献导读:了解88种降维、分类器组合、Li‘s have a solution and plan.
- tomcat9配置https-pfx
- Android:阻止输入法将图片压缩变形
- 教师节,收到学生的礼物和祝福,开心
- ssl1063-统计数字【哈希表】
- 1835财务报表分析
- C++ #include iostream #include iostream.h #include string.h区别及作用
- 自然科学期刊能发表计算机论文吗,福建交通科技杂志发表论文能评职称吗
- 回顾一年的工作历程_回顾一年来的工作
- 前端html与css学习笔记总结篇
- 第 7 章. 缓冲区资源,渲染通道,帧缓冲区以及使用 SPIR-V 的着色器
- 小程序URL Scheme规则调整支持方案
- Heterogeneous Treatment Effect
- java中什么是空指针异常_JAVA中的空指针异常如何处理?
- java json字符串转JSONObject对象、转JAVA对象、转List<T>对象
- 计算机桌面文件夹删除如何找回,被误删(永久删除、彻底删除)的文件如何找回?...
- LTI连续系统零状态响应求解
- linux :ubuntu 实用软件
- 智能家用洗地机哪个牌子好?实际好用的家用洗地机推荐
- 2021-09-25 在uniapp中 打包成app调用地图 提示 uni.authorize is not a function 怎么办 (图文详解)