CMake:生成单个头文件

时间:2018-06-16 10:17:46

标签: c++ cmake

我目前正在编写一个实用程序库,它将附带预编译的DLL文件和库的头文件。截至目前,有一大堆头文件,但我想将它们全部编译成一个头文件(有点像只预处理Transform指令)。

我想知道,使用CMake是否以及如何使用这样的一代。

此致 Lehks

1 个答案:

答案 0 :(得分:0)

这些工具并非特定于CMake,但可以在CMake内部调用。

我最近收集了一些链接,以为ApprovalTests.cpp创建一个单头发行版。

我最初将它们记录在对an issue in podsiadly/ImageApprovals的评论中:这个答案是为了使这些信息更易于共享。

C ++-单头发行脚本

选项:

  • 其中一些工具只能将头文件放在一起,如果您的主源代码仅是头文件,这很好。
  • 其他人也有一种方法可以拉入.cpp文件,或者将inline添加到输出中,或者将.cpp文件中的所有代码放入输出中的一个位置,该文​​件仅被编译一次。
    • 例如,这就是Catch2的CATCH_CONFIG_MAIN的工作方式。

要求宽泛

  • quom
    • 使用Python
    • 没有提及添加inline
  • Heady
    • C ++程序
    • 具体说明提取.cpp个文件
    • 确认是否需要向.cpp中的某些功能添加inline:具有(可自定义)约定,用于将inline_t放入源代码中,其中inline应该包含在源代码中生成的标题
  • Corrade Acme
    • 使用Python
    • 您创建一种模板文件,其中包含#include行以及各种模板标记,语法和类似内容
    • 不提及提取.cpp文件吗?
    • 没有提及添加inline

特定于图书馆