介子项目:我可以把一部分资源放在其他地方吗?

时间:2018-09-27 10:20:20

标签: c++ build meson-build

在Meson项目中,如何编译位于项目树之外的目录中的文件(即不只是标题)?

例如:

MyProj/
   src/
      meson.build
ExternalCode/
   src/
      file1.h
      file1.cpp

include_directories仅用于标题...

如果我在文件路径中使用“ ..”,则会出现此错误:

  

meson.build:10:0:错误:子目录包含..

1 个答案:

答案 0 :(得分:2)

如果您要将外部代码构建为项目的一部分,那么我建议以某种方式在您的项目中获取此目录,例如使用符号链接并将meson.build文件放置在旁边。因此,您的项目布局将如下所示:

MyProj/
   meson.build
   src/
      meson.build
   external/
      ExternalCode -> link to ...
      meson.build

然后,弄清项目中所有子目录的介子,并将其放在顶层meson.build文件中:

subdir('src')
subdir('external')