gn:将预编译的目标文件添加到可执行文件

时间:2019-03-15 08:53:51

标签: build dependencies ninja object-files gn

我有一个基于gnninja的项目。想象一下目录结构如下:

src/
  build/
  module1/
  module2/
  module3/
  main_module/
  BUILD.gn

main_module依赖于module1module2,而module3依赖于module3。模块1、2和3被构建为静态库。我处于一种情况,需要使用executable提供一些其他的预编译目标文件。这些需要在最终的可执行文件中链接。我该如何将这些文件添加到module3目标中,以便以后如果我添加另一个依赖于.o的可执行文件,它也将正确构建?

其他copy文件来自外部资源,理想情况下,每次构建时我都希望复制它们。因此,我创建了一个copy目标,将其复制到输出目录。问题在于,在复制文件时,source_set目标没有隐式地将它们包含在可执行文件中(取决于可执行文件)。

我正在尝试使用.o目标,但这是为了收集应该编译的源文件的集合。因此,当我将sources文件指定为{{1}}时,什么也没发生。

有没有简单的解决方案,可能涉及配置?

0 个答案:

没有答案