CMake可以生成配置文件吗?

时间:2012-01-16 22:21:57

标签: c++ build cmake autotools configure

我需要将配置文件从C ++转换为JS,我正在尝试在项目中使用emscripten。 Emscripte附带了一个名为emconfigure的工具,它取代了autoconf configure,

但我正在构建的项目使用cmake作为构建系统,目前(1月12日)emscripten只支持autoconf - 所以我通过生成configure并在make上执行端口来绕过它,所以有一个从cmake创建配置文件的方法??我不是在讨论make文件..而是配置文件本身。

4 个答案:

答案 0 :(得分:23)

是的,它可以:

configure_file(<input> <output>
               [COPYONLY] [ESCAPE_QUOTES] [@ONLY]
               [NEWLINE_STYLE [UNIX|DOS|WIN32|LF|CRLF] ])

<强> Example.h.in

#ifndef EXAMPLE_H
#define EXAMPLE_H

/*
 * These values are automatically set according to their cmake variables.
 */
#define EXAMPLE "${EXAMPLE}"
#define VERSION "${VERSION}"
#define NUMBER  ${NUMBER}

#endif /* EXAMPLE_H */

在您的cmake文件中:

set(EXAMPLE "This is an example")
set(VERSION "1.0")
set(NUMBER 3)

configure_file(Example.h.in Example.h)

已配置Example.h

#ifndef EXAMPLE_H
#define EXAMPLE_H

/*
 * These values are automatically set according to their cmake variables.
 */
#define EXAMPLE "This is an example"
#define VERSION "1.0"
#define NUMBER  3

#endif /* EXAMPLE_H */

<强>文档

答案 1 :(得分:0)

是的,cmake根据您的目标平台为您生成构建项目所需的文件。但是你需要自己为CMake编写CMakelist.txt的文件,否则你必须从其他人那里获取它们。如果emscripten有它们并且你安装了cmake,请转到cource目录的根目录并启动cmake以查看可以使用的参数列表

答案 2 :(得分:0)

实际上,不要生成“set”,但是你可以使用完成他所做的一切的函数,就像vereficação数据类型,vereficar标题等等。

好吧,我将链接到包含所有这些功能的项目链接。我建议对它进行研究,任何事情都会给我发送电子邮件或其他事情来回答你的问题。

此处:enter link description here

检查/ deps / cmake文件夹以查看我们创建的功能。

答案 3 :(得分:-8)

Cmake是一个构建系统。它生成Makefile。查看here以获取更多相关信息。但是简单地回答你的问题,你不能使用cmake生成配置文件。