Build#

Simple Java Build#

If you’re interested in the Slurm computation manager only, you can easily compile the project using the following command:

$> mvn package

Full Build#

We provide a toolchain to help people to build this project. This toolchain downloads thirdparties (boost, libarchive, log4cpp, protobuf) from the Intenet, compiles both Java and C++ modules and create an iTools distribution. It’s a standalone external folder that contains all the built objects required to run powsybl programs through the itools command-line interface. This repository contains the install.sh script to do so easily. By default, the install.sh will download dependencies from the Internet, compile code and finally copy the resulting iTools distribution to the install folder.

$> ./install.sh

This will run both the C++ build and the java build and copy their results to the install folder.

A more detailled description of the install.sh script options follows:

Targets#

Target

Description

clean

Clean modules

clean-thirdparty

Clean the thirdparty libraries

compile

Compile modules

package

Compile modules and create a distributable package

install

Compile modules and install it

docs

Generate the documentation (Doxygen/Javadoc)

help

Display this help

Options#

The install.sh script options are saved in the install.cfg configuration file. This configuration file is loaded and updated each time you use the install.sh script.

Global options#

Option

Description

Default value

–help

Display this help

–prefix

Set the installation directory

$HOME/powsybl

Third-parties#

Option

Description

Default value

–with-thirdparty

Enable the compilation of thirdparty libraries

–without-thirdparty

Disable the compilation of thirdparty libraries

–thirdparty-prefix

Set the thirdparty installation directory

$HOME/powsybl_thirdparty

–thirdparty-download

Sets false to compile thirdparty libraries from a local repository

true

–thirdparty-packs

Sets the thirdparty libraries local repository

$HOME/powsybl_packs

Default configuration file#

#  -- Global options --
powsybl_prefix=$HOME/powsybl

#  -- Thirdparty libraries --
thirdparty_build=true
thirdparty_prefix=$HOME/powsybl_thirdparty
thirdparty_download=true
thirdparty_packs=$HOME/powsybl_packs