10
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

DelphiAdvent Calendar 2021

Day 22

Delphi コンパイル後の生成ディレクトリの最適解おしえて!

Last updated at Posted at 2021-12-21

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が混ざらない
  • 環境ごとのまとまりは変わらない

みなさんの設定は?

ディレクトリ構成以外にも、こんなプロジェクトオプションが効く!とかありましたら、ぜひ教えてください!

10
3
5

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
10
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?