The first step of the installation is to make sure you have the required
libraries. We have now a quite large set of libraries, we are trying hard to
use well known and easy to install libraries but we must admit this could
be a difficult task to install all by yourself...

The mandatory libs are Python, numpy, HDF5 and CHLone, VTK
and Qt. The cython compiler and scons (for CHLone) are also required.
Then, if you want to build CGNS.WRA (we recommend to do so), you
need libcgns.

Warning

The libcgns (CGNS/MLL) is NOT required for pyCGNS.
You need it if you want the WRA module, all other pyCGNS tools
are using CHLone.

The complete set of required tools/modules/libraries contains Python, HDF5
and other graphical toolkits:

Once you have these installed you can proceed with pyCGNS.
You go into the top directory and you edit the pyCGNSconfig.py.in
(see Configuration file contents).
You have to set the correct paths and various values such as directory search
libs or flags.

Then you run:

python setup.py build

and then:

python setup.py install

or:

python setup.py install --prefix=/local/tools/installation

All the modules of the pyCGNS package are installed and you can now
proceed with tutorial examples.

The pyCGNSconfig_user.py should work with no modification if you have
a standard installation. All you have to declare is the directory in which
we can find Python/numpy/hdf5/CHLone/cgns libraries.

If you have specific installations you can change some paths/flags for each
external library: hdf5, numpy, CGNS/MLL and CHLone. The configuration
file is a Python file, it is imported after the default configuration. The
changes you make in the configuration file will overwrite the defaults:

The CGNS.NAV tool uses two graphical toolkits, one for the GUI (Qt) and another
one for the graphical view window (VTK). The VTK toolkit must have its
Python binding installed. You should not use pyVTK but the native Python
binding of VTK. To do so, edit the VTK configuration file to set the Python
wrapping and all associated paths. And example of production could be:

cd VTK
mkdir B
cd B
cmake ..

Then edit the CMakeCache.txt file:

//Wrap VTK classes into the Python language.
VTK_WRAP_PYTHON:BOOL=ON

And build/install...

The Qt toolkit is used with the PySide Python binding, which is its official
bindingwith this langage. We do not use pyQt. You can check you have the
correct bindings by typing:

CGNS/MLL and CGNS/ADF libraries are required.
Set the following variable to ON in the CMakeCache.txt file:

//Build the CGNSTools package
BUILD_CGNSTOOLS:BOOL=ON
//Build a shared version of the library
CGNS_BUILD_SHARED:BOOL=ON
//Enable or disable the use of Fortran
ENABLE_FORTRAN:BOOL=ON
//Enable or disable HDF5 interface
ENABLE_HDF5:BOOL=ON

The WRA and NAV modules (and CHLone by the way) are using cython. You can
check your cython is present using: