zoukankan      html  css  js  c++  java
  • CMake 11 配置文件

    CMake通过以下指令来赋值一个文件到指定地方,并可修改这个文件的内容,即配置文件。

    修改的内容为输入文件中以@VAR@或${VAR}指定的CMake变量占位符,占位符被相应变量的内容替换:

    configure_file(<input> <output>

                   [COPYONLY] [ESCAPE_QUOTES] [@ONLY]

                   [NEWLINE_STYLE [UNIX|DOS|WIN32|LF|CRLF] ])

    <input>:要复制的文件,如果用的是相对路径,则基于CMAKE_CURRENT_SOURCE_DIR目录

    <output>:要复制的目标,可以指定文件名或目录,如果是已经存在的目录,则用<input>的文件名,如果用相对路径来指定,则基于CMAKE_CURRENT_BINARY_DIR目录

    COPYONLY:原封不动的复制文件不做任何变量替换

    ESCAPE_QUOTES:回避反斜杠转义,即C风格的转义

    @ONLY:只替换@VAR@的变量,${VAR}的不作替换

    NEWLINE_STYLE:输出文件中换行的方式,UNIX和LF是 ,DOS、WIN32和CRLF是以 换行。因为输出文件与输入文件内容有变动,所以不能与COPYONLY一起使用。

    几种替换说明:

    1 输入文件中的内容为: #cmakedefine VAR …

    如果VAR被定义,替换的内容为 #define VAR …

    如果VAR未被定义,则替换为 /* #undef VAR */

    2输入文件中的内容为:#cmakedefine01 VAR

    如果VAR被定义,替换的内容为 #define VAR 1,

    否则替换的内容为 #define VAR 0

    3 ESCAPE_QUOTES的使用

    输入文件中的内容为 “@QUOTE@”,

    CMAKEList.txt有定义: set(QUOTE “”bb””),如果不使用ESCAPE_QUOTES,则输入文件中的占位符被替换为””bb””,如果使用则为””bb””

  • 相关阅读:
    oracle11g安装客户端检查先决条件失败
    WinForm textbox 只允许输入数字
    Oracle存储过程
    Oracle游标
    Oracle之PL/SQL流程控制
    Oracle 变量
    log4net 使用
    Python Matplotlib 画图显示中文问题
    Oracle 数据迁移到 SQL Server
    C结构体【转】
  • 原文地址:https://www.cnblogs.com/merlinzjl/p/13904578.html
Copyright © 2011-2022 走看看