4493


[dub](http://code.dlang.org/download) で D言語のプロジェクトを作成するとき、一回の `dub build`
で複数の実行ファイルを生成するようにしたい。

たとえば

> project/dub.json  
>  project/source/app1.d  
>  project/source/app2.d  
>  project/source/app3.d

というツリーで三つの実行ファイルを同時に `dub build` したい。

これを実現する方法はある？


CC BY-SA 3.0
2015-01-13T07:55:23.977
4488
2015-01-13T08:42:50.183
2015-01-13T08:07:53.023
4978
2112
question
build d
dubで複数の実行ファイルをターゲットにすることはできる？


二つ方法があります．

## subPackages で分ける

対象プロジェクトの中で，各ディレクトリに dub.json を置くことで，サブプロジェクトとしてそれぞれビルド出来ます．
`main:sub1`として指定して個別にビルドすることも可能です．

  * [DLang ドキュメント: Package Foamat/Sub packages](http://code.dlang.org/package-format#sub-packages)

## configurations で分ける

これ自体は異なった設定でビルドするための仕組みですが，外部から複数回 `dub build` を呼ぶことで似たようなことが出来ます．`fluent-
logger-d` はこれを使って，ライブラリとは直接関係のないテストバイナリを生成出来るようにしています(subPacakges
を使っていないのは歴史的経緯です)．

  * [fluent-logger-d/dub.json @ GitHub](https://github.com/fluent/fluent-logger-d/blob/master/dub.json)


CC BY-SA 3.0
2015-01-13T08:22:35.733
4493
2015-01-13T08:42:50.183
2015-01-13T08:42:50.183
4978
7349
4488
answer