全局根配置完成了,接下来需要开始对每个子 target 进行一些特定的配置,这些配置可以分别放置在 target 所在的子 xmake.lua 文件中。
我们在每个子工程目录中单独配置的 xmake.lua,里面的所有配置不会干扰父 xmake.lua,只对它下面的更细粒度的子工程生效,就这样一层层按 tree 状生效下去。
整个继承结构可以参考下图所示。
为了完成上图的子工程结构,能够更加直观的感受如何去配置子工程,我们需要再对之前的配置文件做一些调整,在 src 目录下额外新增两个子工程:foo 和 bar 目标程序。
为此先执行如下命令,创建这两个子工程。
cd ~/Code/includes_test
mkdir src/foo src/bar
cp src/main.cpp src/foo
cp src/main.cpp src/bar
rm src/main.cpp
touch src/foo/xmake.lua
touch src/bar/xmake.lua
创建完成后的目录结构如下所示,也就是上面图片中所展示的结构。
.
├── src
│ ├── bar
│ │ ├── main.cpp
│ │ └── xmake.lua
│ ├── foo
│ │ ├── main.cpp
│ │ └── xmake.lua
│ └── xmake.lua
├── tests
│ ├── main.cpp
│ └── xmake.lua
└── xmake.lua