---
title: Build Dexed
header-includes:
---
Dexed is mostly programmed in Object Pascal, using the the [Lazarus development platform](http://www.lazarus-ide.org/).
## Pre-requisites
* Git
* [Download](http://lazarus.freepascal.org/index.php?page=downloads) and setup the latest Lazarus version (>= 2.2.0) and FPC + FPC sources (= 3.2.2) for your platform.
* Windows: the three packages are bundled in an installer.
* Linux: the three packages must be downloaded and setup individually. It's recommended to download the packages from _SourceForge_ and not from the official repository of the distribution because they don't always propose the latest version.
* [Download](https://github.com/ldc-developers/ldc/releases) and setup LDC2 (>= v1.31.0), the LLVM-based D compiler. It is used to compile the part of the IDE that's written in D, a library called _libdexed-d_. LDC2 binaries must be visible in the system PATH variable. Note that building _libdexed-d_ is automatic.
## Build
* `$ cd `
* `$ git clone https://gitlab.com/basile.b/dexed.git`
* `$ git submodule update --init`, to clone the dependencies used by _libdexed-d_.
You're now ready to build Dexed. This can be done in the Lazarus IDE or using the _lazbuild_ utility.
* If you don't plan to develop the project, use _lazbuild_, note that its path may have to be specified:
* open a console.
* `cd` to the repository location, sub folder **lazproj**.
* `$ lazbuild -B dexeddesigncontrols.lpk`.
* `$ lazbuild -B dexed.lpi`.
* If you plan to help developing you'd better get started with _Lazarus_, although building is less conveniant:
* start Lazarus.
* setup `lazproj/cedsgncontrols.lpk` with Lazarus package manager (requires to rebuild Lazarus).
* in the **project** menu, click *open...* and select the file **dexed.lpi**, which is located in the sub-folder **lazproj**.
* in the menu **Execute** click **Create**.
After what _Dexed_ and _libdexed-d_ should be build, in the _bin_ folder.
To use _dexed_, The library might have to be copied to a specific path, e.g _/lib64/_ under linux.
## Third party tools
Additionally you'll have to build
- the [completion daemon **DCD**](https://github.com/dlang-community/DCD#setup)
- the [D linter **Dscanner**](https://github.com/dlang-community/Dscanner#building-and-installing).
See the products documentation for more information.