INSTALLATION
============

This document gives a basic overview of the installation procedure. For full
installation instructions, please see:
   https://openbabel.org/docs/Installation/install.html

Requirements
============
 -- CMake 3.12 or later
 -- Eigen 3.0 or later (optional)
 -- libxml2 (optional)
 -- zlib (optional)
 -- wxWidgets 2.8 (optional, needed to build GUI)
 -- maeparser (optional, will download and auto-build if not present)
 -- CoordgenLibs (optional, will download and auto-build if not present)

Basic Installation
==================
These instructions give a very basic overview of how to configure, compile and
install Open Babel on most systems.  If you are using unique install locations
and/or libraries are not automatically detected please consult the 'Advanced'
section.

1. Create a 'build' directory:

   mkdir build
   cd build

2. Configure the build system. You can specify additional build
options at this time (see below):

   cmake ..

3. Compile:

   make -j2

4. Test (optional):

   make test

5. Install:

   sudo make install


Advanced
========
The build system (CMake) provides mechanisms for specifying
non-standard installation locations and enabling/disabling of optional
components.

   -DCMAKE_INSTALL_PREFIX : specify the installation prefix
                            (default /usr/local)

   -DLIB_INSTALL_DIR : specify the install location for libraries
                       (default ${CMAKE_INSTALL_PREFIX}/lib)

   -DEIGEN3_INCLUDE_DIR : specify the Eigen include directory

   -DRUN_SWIG : specify whether to regenerate language bindings

   -DPYTHON_BINDINGS : specify whether to build Python bindings

   -DMINIMAL_BUILD : specify whether to do minimal build with just two
                     formats (SMI, SDF) useful for developers

   -DBUILD_GUI : specify wether to build Open Babel GUI (wxWidgets required)

For more information please consult the CMake documentation and the
Open Babel website:
   https://openbabel.org/docs/Installation/install.html


Environment Variables
==================
Open Babel uses a few environment variables to find things at
runtime. If Open Babel is installed to the location specified at
compile time, none of these variables need to be set.

BABEL_LIBDIR - the location of Open Babel format plugins
BABEL_DATADIR - the location of the data files
