Skip to content

External Dependencies

The external/ directory contains external libraries which are either difficult to obtain, difficult to compile or patched for libigl.


Patched to support copying and pasting from text fields (see

Added makefiles for Mac OS X with modern GCC (AntTweakBar/src/Makefile.osx.igl) and for building with Mesa (AntTweakBar/src/Makefile.mesa.igl)


Install ispc and tbb for example (brew install ispc tbb), then

mkdir build
cd build
cmake -DCMAKE_C_COMPILER=/usr/bin/gcc -DCMAKE_CXX_COMPILER=/usr/bin/g++ -DCMAKE_BUILD_TYPE=Release ..


double precision bug fixes:

tinyxml2.h line 1286 add function:

void SetAttribute( const char* name, float value ) {
    XMLAttribute* a = FindOrCreateAttribute( name );
    a->SetAttribute( value );

tinyxml2.cpp line 434 replace with:

TIXML_SNPRINTF( buffer, bufferSize, "%.15e", v );


CGAL can be built as a CMake external project thanks to the CMakeLists.txt provided in this folder. While this is mainly intended as a convenience for Windows users, and CI builds on AppVeyor, this should work on Linux/macOS as well. To build CGAL and Boost with the provided CMake script, build this folder as you would compile any CMake project (use CMake GUI and MSVC on Windows):

mkdir build
cd build
cmake ..
make -j4

Once this is done, just build the libigl tutorials, and it should properly detect CGAL and Boost.