Skip to content

Package Building on Windows

Thomas Beale edited this page May 29, 2016 · 6 revisions

Below are instructions for how to set up a package-building environment for Windows. Using the following method, you can do a batch build of one or more apps, and also build the installer package.

Machine setup

Ideally the build environment will be on a dedicated machine. Building is preformed by running scripts that are in the adl-tools repository area. The various openEHR git repositories described in the building from source section should be cloned.

Pre-requisites

  1. Python 2.x: install a 2.x version of Python for Windows. This is likely to be Python 2.7 from python.org.
  2. SCons builder (make tool): SCons. This is a Python script and installs into the Python install area.
  3. NSIS (Windows .msi/.exe installer builder): NSIS

For building to proceed, Python, SCons and NSIS must be findable. This is normally done by creating a .bat file to add their locations to the PATH, or else by permanently adding the paths to the system PATH via the control panel.

The script adl-tools/build_installer.bat provides and example of how to do this. The specific paths normally need to be changed to suit the local environment.

Building

  1. start a command shell window in the .../openEHR/ad-tools directory, e.g. by doing Shift-Right-click on that folder in the Windows Explorer.

  2. run build_installer.bat or if the environment is set by other means, just do:

     scons downloads/windows/adl_workbench
    

If everything went well, there should be a new .exe package installer at ...\openehr\downloads\windows\adl_workbench\ADLWorkbenchInstall.exe

The build scripts

The build scripts are as follows:

  • .../openEHR/adl-tools/SConstruct - the master SCons build script. This builds apps in a standard way on all platform, then decides based on which platform it is running on, which package installer to invoke.
  • Windows package installer (NSIS) script is at ...\openEHR\adl-tools\apps\adl_workbench\install\windows\ADL_Workbench
Clone this wiki locally