Delphi標準生成ディレクトリの問題点
Delphiではコンパイル後ファイルの置き場所をプロジェクトオプションで指定できます。
標準では
生成物 | 生成ディレクトリ |
---|---|
ユニット | .\$(Platform)\$(Config) |
実行ファイル | .\$(Platform)\$(Config) |
となっています。
ただ、この構成ですと Debug\Win32\sample.exe
とディレクトリが深くなる上、exeと同じ場所にユニットコンパイル後の.dcuがバラバラと生成され、見た目にも管理しづらくなります。
今回は自分なりの設定を示した上で、みなさんの「最適」を教えていただければな、と思っています!
自分なりの設定
僕が使いやすく、ここ数年使っている構成は以下です。
生成物 | 生成ディレクトリ |
---|---|
ユニット | ..\dcu\$(Platform)\$(Config) |
実行ファイル | ..\$(Platform)_$(Config) |
まず僕はソース一式を プロジェクトディレクトリ(Project1)\src
というディレクトリに入れます。またフォームはFormsというさらに深いところで一括管理します。
Project1
└ src
|- Project1.dpr
└ Forms
└ MainForm
その上で、プロジェクトディレクトリのルートに dcu だけを出力する dcuディレクトリ、生成物の出力先を指定します。
生成物はwin32\debug
など2段階にせず、アンダースコアでつないでwin32_debug
という1段にしています。
最終的に下記のようになります。
Project1
|- dcu
| └ win32
| └ Debug
| └ unit1.dcu ...
|- src
| |- Project1.dpr
| └ Forms
| └ MainForm
|- win32_debug
| └ Project1.exe
|- win32_release
| └ Project1.exe
|- win64_debug
| └ Project1.exe
└- win64_release
└ Project1.exe
利点
- それぞれの環境の生成物を浅い階層で管理できる
- dcuが混ざらない
- 環境ごとのまとまりは変わらない
みなさんの設定は?
ディレクトリ構成以外にも、こんなプロジェクトオプションが効く!とかありましたら、ぜひ教えてください!