Documentation in English

April 12th, 2011

The Idea

Lazy Delphi builder is the ultimate free build tool for Delphi. It’s functions are as follows:

  1. Recompile huge projects with great amount of linked packages, with no need to messing around with configs.
  2. Quickly compile somebody’s projects and packages without opening IDE. (f.e. compile demos from sources without opening IDE)
  3. Quickly install components from sources into IDE, with no need to change your Library Path.
  4. Integrate with other build-tools. (planned feature)
  5. All output files(exe, bpl, dcp, dcu, res) will be place to separate folders. No mess with sources.

Disclaimer (attention!)

Make back-ups and/or commit your code changes in your VCS code repository, before you start using Lazy Delphi Builder,
By using this tool, you agree that you take all responsibility for possible explicit or implicit damage, that can be done to you or your work by this program tool.

Video: Creating build via Lazy Delphi Builder.

Length: 9 minutes. Language: English-Poor. ;)

Step by step


At first add folders containing component files to Lazy Delphi Builder’s Search Paths listbox. Then, after you press Scan, program will start search of supported files in these directories. Lazy Delphi Builder searches following file-types for:
*.res, *.dfm

When search is finished, program filters results by deleting files that matches Exclude masks. You can see a full list of excluded files on Debug tab, by pressing button Show Filtered Files. When filtering is done, found files will be displayed in tree.

In a tree you should check files that you want to compile.
Filtering by exclude masks is not perfect, so there can be many usefulness files in a tree. are  It’s better to delete unneeded files. For examples, many libraries supplied with dpk files for different Delphi versions, while workstation commonly has only one or two versions installed. But compiling packages from wrong Delphi version can lead to errors, that’s why it’s better to delete such files.

For successful compilation you need following files:
.dpk – package source
.dfm, .pas, .dcu – program sources/compiled sources
.res, .dcr – compiled resources
.inc – include files


After you have checked all necessary files with checks, you should start compilation. Press on the Compile button. Before compilation process is actually started, Lazy Delphi Builder will sort packages by dependies.
Compilation notes:
If Clean output folders before compile check box was checked, then Lazy Delphi Builder will try to delete Binary, Bpl, Dcu, Dcp and Res output directories.
If Create output folders before compile, check box was checked, then Lazy Delphi Builder will create Binary, Bpl, Dcu, Dcp and Res output folders, if they not exist.
Then, Lazy Delphi Builder will start packages(.dpk) compilation process. If there would be at least 2 errors during compilation, then compilation process will be stopped.
If Register packages in IDE check box was checked, then compiled packages will be registered(installed) in IDE.
Then Lazy Delphi Builder searches for resource files in checked Resources directories and copy all found resource files(by mask) to the Output Res directory.
Then, Lazy Delphi Builder starts projects(.dpr) compilation.

In case of successful compilation, it would be a good idea to save profile to disk.

Advice 1

Compilation progress and erroneous commands can be seen on Installation tab. In packages tree tab erroneous packages will be highlighted with red color, but after selecting erroneous package with mouse, you can see erroneous command’s listing.

Advice 2

At start it is better to compile packages one by one or in small groups. It would be easier to trace raising errors packages. But when you see that all packages can by compiled separately, it will be worth to try compile them together.

Working with tree.

Packages Tree can be viewed in two ways:

  1. Tree – hierarchical view, that copies directory structure on disk
  2. Flat - flat list of all found files

Tree content can be easily filtered. It is possible to show/hide files by types:
dpk – show/hide packages
pas - show/hide sourses
e t.c..

Also, files in tree can be filtered by filename(inc. path) matches. For example, if filter string will be 2009, then tree will show only files that contain 2009 in filename or path. But, if you enter <>2009, then files that tree shows only files that do not contain 2009 in filename.

Following hotkeys can be used working with tree:
Ctrl+Del – delete selected nodes
/ – recursively collapse all nodes starting from focused
* – recursively expand all nodes starting from focused
- – collapse current node
+ – expand current node
Ctrl+Z Undo last deletion

Space – check/uncheck selected nodes

Command line switches

Some of the switches work for both console and GUI, but some only in console.

/OutFolderBase <directory> – allows to define base output folder. (shorten /ob)

/noAutoSave – don’t autosave profile on program exit

/verbose - be verbose

/debug - outputs debug information to screen. Useful to catch bugs.

/RegisterInIDE+ /RegisterInIDE- – register packages in IDE after compilation. Works in console only.

/CleanOutFolders+ /CleanOutFolders- – turns on/off output folders deletion before compile. Works in console only.

/CompilerOptions “compiler options list” – allows define additional compiler options. Use double quotes for several options. Works in console only.

/DEFINE <define conditionals> – additional conditional defines. same syntax as with dcc32.exe.

/help – outputs brief help text. Works in console only.

/BackupOutFolders+ /BackupOutFolders- – create backup of Output folder instead of deleting it(old backup would be deleted though)

/UseRecycleBin+ /UseRecycleBin- – use Recycle Bin for deleted output folders or old output folders backups.


You can use Lazy Delphi Builder for free.

All rights for program and it’s sources belong to kind author. ;)
© Aleksey Timohin, 2009-2011. All rights reserved.

Comments are closed.