Compilation

Windows

Compilation requirements

Build

  • Make sure all programs and tools from the list are installed.

  • Setup Qt Visual Studio Tools extension to point to the installed Qt libraries. In Visual Studio, go to Extensions → Qt VS Tools → Qt Versions → add new Qt version → … → Navigate in the Qt installation directory to Qt/6.x.x/msvc2022_64/ → rename Version to qt_msvc_dyssol → OK.

  • Compile and build external libraries: HDF5, SUNDIALS, zlib, etc. To do this, navigate to Dyssol/ExternalLibraries/ and execute file CompileAll.bat. It will start building all the required libraries by executing files CompileZLib.ps1, CompileHDF5.ps1, CompileSundials.ps1, etc. To use the scripts, the following tools are necessary: Visual Studio, CMake, PowerShell, Python.

  • Open Dyssol/Dyssol.sln with Visual Studio and build the solution.

Build documentation and installers

  • Install Doxygen.

  • Install MikTeX with packages: amscls, anyfontsize, preview, zhmetrics. With default installation, MikTeX will install the packages on-the-fly during the first build of the documentation (user confirmation may be required).

  • Install required python libraries by running in terminal:

py -m ensurepip --upgrade
pip install -U sphinx sphinx-rtd-theme breathe
  • In Visual Studio Solution Explorer go to Installers, right click on the Installer project and choose Build. The built installer locates in Dyssol/DyssolInstallers/Installers.

Also, other versions of Microsoft Visual Studio can be used, but additional preparations may be required:

  • Install build tools for the corresponding Visual Studio.

  • Configure all *.ps1 scripts to use the required version of Visual Studio build tools before running Dyssol/ExternalLibraries/CompileAll.bat.

  • If the Models Creator SDK tool is required, files associated with it may need to be updated. They to be found in Dyssol/DyssolInstallers/Data/ModelsCreatorSDK/.

Linux

Compilation requirements

  • g++-9.4.0 or clang++-10.0.0

  • CMake 3.11.0 or higher

Install build environment

Ubuntu 20, Debian 11

sudo apt install build-essential cmake libsundials-dev libhdf5-serial-dev libqt5opengl5-dev libgraphviz-dev doxygen python3-sphinx python3-sphinx-rtd-theme python3-breathe texlive-latex-extra

Ubuntu 22/24, Debian 12

sudo apt install build-essential cmake libsundials-dev libhdf5-serial-dev qt6-base-dev libgraphviz-dev doxygen python3-sphinx python3-sphinx-rtd-theme python3-breathe texlive-latex-extra

Build

git clone https://github.com/DyssolTEC/Dyssol-open.git
cd Dyssol-open
mkdir build && cd build
cmake .. -DCMAKE_CXX_COMPILER=g++ -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=../install
cmake --build . --parallel
make doc
make install

The compiled executable files and all the units’ libraries will appear in Dyssol-open/install/