
# Requirements

##    Install all necessary dependencies, e.g. on Ubuntu 18.04 and above:

sudo apt-get install build-essential cmake git libhdf5-dev libvtk7-dev libboost-all-dev libcgal-dev libtinyxml-dev qtbase5-dev libvtk7-qt-dev

## Note: For later versions of Ubuntu you may have to choose a later version of vtk.
##
##    Optional: Install octave and octave devel packages:

sudo apt-get install octave liboctave-dev

##    Optional: For the package hyp2mat you need additonal dependencies:

sudo apt-get install gengetopt help2man groff pod2pdf bison flex libhpdf-dev libtool

##    Optional: For the python interface, python3 with matplotlib, cython and h5py is required:

sudo pip3 install matplotlib cython h5py

# Clone, build and install

##    Clone this repository, build openEMS and install e.g. to “~/opt/openEMS”:

cat <<-EOF | sudo tee "/tmp/install-openems.sh" >/dev/null
	#!/bin/bash
	
	pushd /opt
		git clone --recursive https://github.com/thliebig/openEMS-Project.git
		pushd openEMS-Project
			./update_openEMS.sh ~/opt/openEMS

			#    Optional: Build all including hyp2mat, CTB and python:

			./update_openEMS.sh ~/opt/openEMS --with-hyp2mat --with-CTB --python

			#    Add the given paths to your Octave/Matlab environment (e.g.):

			addpath('~/opt/openEMS/share/openEMS/matlab');
			addpath('~/opt/openEMS/share/CSXCAD/matlab');

			#    Optional: Add the optional packages to your Octave/Matlab environment (e.g.):

			addpath('~/opt/openEMS/share/hyp2mat/matlab');
			addpath('~/opt/openEMS/share/CTB/matlab');
		popd
	popd
EOF

bash /tmp/install-openems.sh
