Skip to content

Building from source

Thomas Beale edited this page Mar 5, 2024 · 9 revisions

The tools and libraries in this repository are all written in Eiffel 19.x. The Eiffel compiler / IDE (GPL) can be found here for all major platforms.

3rd-party Tools setup

Git

Git is needed by ADL Workbench. On Linux and Mac it will usually be there, or easy to obtain via a typical apt-get or similar command. Look online for how to do this for your platform.

For Windows, use git for windows.

Git repo setup

You need to clone various Git repos to do any building. The instructions are the same for all platforms (obviously you can use GUI tools on each platform as well).

In your openEHR work directory, e.g. .../openEHR, clone the Git repos adl-tools (this repo), adl-archetypes and reference-models with:

mkdir openEHR  # if it doesn't exist
cd openEHR
git clone https://github.com/openEHR/adl-tools.git 
git clone https://github.com/openEHR/adl-archetypes.git
git clone https://github.com/openEHR/specifications-ITS-BMM.git
git clone https://github.com/openEHR/terminology.git

Also clone the wolandscat/EOMF libraries, which contain BMM (Basic Meta-Model) and ODIN (like JSON but smarter):

cd ..
mkdir Eiffel
git clone https://github.com/wolandscat/EOMF.git

Then clone the iso8601 and error_message libraries into a sub-directory EiffelHub:

mkdir EiffelHub
cd EiffelHub
git clone https://github.com/eiffelhub/iso8601
git clone https://github.com/eiffelhub/error_message

You should end up with:

openEHR/
    adl-tools/                # Git repo
    adl-archetypes/           # Git repo
    specifications-ITS-BMM/   # Git repo
    terminology/              # Git repo
Eiffel/
    EOMF/                     # Git repo
    EiffelHub/
        iso8601/              # Git repo
        error_message/        # Git repo

Now define system environment variables:

EOMF = ~/Eiffel/EOMF       # wherever you put EOMF
EIFFEL_HUB = ~/Eiffel/EiffelHub   # wherever you put EiffelHub

Build from Source - all platforms

Below are instructions for how to set up the source development environment. This is essentially the same on all platforms.

Install EiffelStudio Windows / Linux / Mac OSX version as appropriate.

Building in the EiffelStudio IDE

Go on, you know you want to! This is for people who might want to look at the code, debug etc. Note that all the ADL/AOM validation and flattening algorithms are in the code, so this could be useful if you want to port code to Java or other languages.

  1. Start EiffelStudio
  2. Open the project .ecf file .../openEHR/adl-tools/apps/adl_workbench/app/adl_workbench.ecf
  3. Project > Compile (F7)
  4. Execution > Run (F5)

The above is a 'workbench' build, used for development and debugging. You can also build the 'finalised' version using Project > Finalize (ctrl+shift+F7). This generates a self-standing optimised binary, which you can run with Project > Run finalized system. This build is the same as you get by doing a distribution build.

Using the ADL Workbench

To configure the ADL Workbench and use it, see the online manual.