我有一个基于gn
和ninja
的项目。想象一下目录结构如下:
src/
build/
module1/
module2/
module3/
main_module/
BUILD.gn
main_module
依赖于module1
和module2
,而module3
依赖于module3
。模块1、2和3被构建为静态库。我处于一种情况,需要使用executable
提供一些其他的预编译目标文件。这些需要在最终的可执行文件中链接。我该如何将这些文件添加到module3
目标中,以便以后如果我添加另一个依赖于.o
的可执行文件,它也将正确构建?
其他copy
文件来自外部资源,理想情况下,每次构建时我都希望复制它们。因此,我创建了一个copy
目标,将其复制到输出目录。问题在于,在复制文件时,source_set
目标没有隐式地将它们包含在可执行文件中(取决于可执行文件)。
我正在尝试使用.o
目标,但这是为了收集应该编译的源文件的集合。因此,当我将sources
文件指定为{{1}}时,什么也没发生。
有没有简单的解决方案,可能涉及配置?