如何使用premake从C ++项目复制所有标头

时间:2019-06-24 19:04:55

标签: c++ premake

我有一个C ++项目,其源文件(.cpp和.h文件)位于名为src及其子目录的目录中。我希望在项目编译后将所有头文件从该源文件夹复制到另一个目录中,并保持src的文件夹结构。

我尝试使用构建后命令复制这些文件:

postbuildcommands
{
    "{COPY} src/*.h include"
}

postbuildcommands
{
    "{COPY} src/**.h include"
}

但是这些仅将.h文件直接复制到src中,而不是直接复制到子目录中。例如,

src
+-- a.h
+-- a.cpp
+-- sub
|   +-- b.h
|   +-- b.cpp

成为

include
+-- a.h

代替

include
+-- a.h
+-- sub
|   +-- b.h

1 个答案:

答案 0 :(得分:0)

您使用的是Windows linux还是mac? 还是需要跨平台?

看起来{copy}令牌没有将/ s标志传递给Windows上的xcopy https://github.com/premake/premake-core/wiki/Tokens https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/xcopy

一种可能的解决方案是查找所有文件或以某种方式从项目中获取它们,并为每个头文件创建一个postbuild命令,这可能会慢很多