先做网站还是先解析,深圳福田园岭网站建设,大型网,郑州最好的品牌策划公司一. 简介 cmake 提供了 file() 命令可对文件进行一系列操作#xff0c;譬如读写文件、删除文件、文件重命名、拷贝文件、创建目录等等。 接下来 学习这个功能强大的 file() 命令。 本文学习 CMakeLists.txt语法中写文件操作。 二. cmake进阶#xff1a;文件操作之写文件…一. 简介 cmake 提供了 file() 命令可对文件进行一系列操作譬如读写文件、删除文件、文件重命名、拷贝文件、创建目录等等。 接下来 学习这个功能强大的 file() 命令。 本文学习 CMakeLists.txt语法中写文件操作。 二. cmake进阶文件操作之写文件 1. 写文件写、追加内容 使用 file() 命令写文件使用方式如下所示 file(WRITE filename content...)
file(APPEND filename content...) 将 content 写入名为 filename 的文件中。如果文件不存在它将被创建 如果文件已经存在 WRITE 模式将覆盖它 APPEND 模式将内容追加到文件末尾。 准备一个工程在工程根目录下的 CMakeLists.txt文件中加入如下代码 # file()写文件测试
file(WRITE wtest.txt Hello World!) #给定内容生成 wtest.txt 文件
file(APPEND wtest.txt China) #给定内容追加到 wtest.txt 文件末尾 注意文件可以使用绝对路径或相对路径指定相对路径被解释为相对于当前源码路径。 进入工程 build目录下执行 cmake ..命令后会在当前源码目录下生成一个名为 wtest.txt 的件如下所示 接着查看 wtest.txt 文件中内容如下所示 2. 写文件由内容生成文件 由内容生成文件的命令为
file(GENERATE OUTPUT output-fileINPUT input-file|CONTENT content[CONDITION expression]) output-file 指定输出文件名可以带路径绝对路径或相对路径 INPUT input-file 指定输入文件通过输入文件的内容来生成输出文件 CONTENT content 指定内容直接指定内容来生成输出文件 CONDITION expression 如果表达式 expression 条件判断为真则生成文件、否则不生成文件。 同样指定文件既可以使用相对路径、也可使用绝对路径不过在这里相对路径被解释为相对于当前源码的 BINARY_DIR 路径而不是当前源码路径。 在工程根目录下的 CMakeLists.txt文件中加入如下代码
# 由前面生成的 wtest.txt 中的内容去生成 out1.txt 文件
file(GENERATE OUTPUT out1.txt INPUT ${PROJECT_SOURCE_DIR}/wtest.txt)# 由指定的内容生成 out2.txt
file(GENERATE OUTPUT out2.txt CONTENT This is the out2.txt file)# 由指定的内容生成 out3.txt加上条件控制用户可根据实际情况
# 用表达式判断是否需要生成文件这里只是演示直接是 1
file(GENERATE OUTPUT out3.txt CONTENT This is the out3.txt file CONDITION 1)
注意这里 Linux系统上的 cmake安装的哪个版本则在 CMakeLists.txt中关于最低版本需要设置为 所安装的 cmake版本号。否则会在下一步 cmake .. 命令后报错。 进入到 build 目录下执行 cmake .. 命令 执行完 cmake 之后会在 build 目录也就是顶层源码的 BINARY_DIR 下生成了 out1.txt 、 out2.txt 和 out3.txt 三个文件内容如下 关于 cmake写文件学习到这里。