Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
(如何)使用cmake生成包含头文件的头文件?_Cmake_C - Fatal编程技术网

(如何)使用cmake生成包含头文件的头文件?

(如何)使用cmake生成包含头文件的头文件?,cmake,c,Cmake,C,我有一个项目,有几个头文件。现在我想生成一个包含所有项目头文件的头文件 例如,我们有以下标题: a、 h b、 h c、 h 分机/d.h 现在我想生成一个包含所有头文件的头文件,大致如下所示: #include "a.h" #include "b.h" #include "c.h" #include "ext/d.h" 谢谢你的帮助 file(GLOB_RECURSE header_files "include/*.h") foreach(f ${header_files}) mes

我有一个项目,有几个头文件。现在我想生成一个包含所有项目头文件的头文件

例如,我们有以下标题:

  • a、 h
  • b、 h
  • c、 h
  • 分机/d.h
现在我想生成一个包含所有头文件的头文件,大致如下所示:

#include "a.h"
#include "b.h"
#include "c.h"
#include "ext/d.h"
谢谢你的帮助

file(GLOB_RECURSE header_files "include/*.h")
foreach(f ${header_files})
  message("processing ${f}")
  file(RELATIVE_PATH fr "${CMAKE_CURRENT_SOURCE_DIR}/include" ${f})
  list(APPEND incls "#include \"${fr}\"\n")
endforeach()
file(WRITE mylibheader.h ${incls})
说明:

  • 将所有头文件存储到变量
    头文件
  • 从全局生成的绝对路径确定相对路径
  • 将包含代码段存储到变量
  • 创建头文件

您想将其用于预编译的头文件(.gch),还是您的用例是什么?我只想在使用库时使用一个头文件。类似于Objective-C中的Foundation/Foundation.h。