The deal.II Readme on interfacing to OpenCASCADE
Keywords: deal.II

## Installation of OpenCASCADE

OpenCASCADE is a software development kit (SDK) intended for development of applications dealing with 3D CAD data, freely available in open source. It includes a set of C++ class libraries providing services for 3D surface and solid modeling, visualization, data exchange and rapid application development.

Below is a short summary of instructions on how to compile and install OpenCASCADE community edition by hand (for the case you wish to do so).

### How to compile and install OpenCASCADE

Get a clone of the OCE repository:

    git clone git://github.com/tpaviot/oce.git

It is a good practice to build in a separate directory:

    mkdir build
    cd build
    cmake -D OCE_INSTALL_PREFIX=/path/to/where/you/want/oce \
          -D OCE_TESTING=OFF \
          -D OCE_VISUALISATION=OFF \
          -D OCE_DISABLE_X11=ON \
          ..
    make install

This will turn off some packages we don't need. The default package options also work, though.

## Interfacing deal.II to OpenCASCADE

Support for OpenCASCADE will be enabled automatically if a system wide installation of OpenCASCADE can be found. To use a self compiled version, specify

        -DOPENCASCADE_DIR=/path/to/opencascade/or/oce

when invoking `cmake`. Alternatively, you can also set an environment variable `OPENCASCADE_DIR` (valid alternatives are also `OCC_DIR` and `OCE_DIR`) and cmake will pick up this path.

You can override the autodetection by manually setting

        -DDEAL_II_WITH_OPENCASCADE=OFF|ON

.