Prerequisites

The following tools and libraries are required to build VoroCrust-Meshing.

CMake

CMake logo

CMake is an open-source, cross-platform tool that we use to manage the generation of build scripts. It is available for Linux, Windows, and OSX.

Download from the CMake Website

VoroCrust-Meshing requires CMake version 3.x or higher

Download link: https://www.cmake.org/download

Install using a Package Manager

RHEL / Centos

$ sudo yum install cmake

Debian / Ubuntu

$ sudo apt-get install cmake

Apple / OSX using Homebrew

$ brew tap caskroom/cask
$ brew cask install cmake

Sandia Systems with SEMS modules installed

Sandia systems that have SEMS modules installed make CMake available via modules.

$ module load sems-env
$ module load sems-cmake/3.12.2

C++ Compiler

C++ logo

A C++ compiler is required to build VoroCrust-Meshing.

Windows

On Windows systems we recommend the Visual Studio compiler. VoroCrust-Meshing can compile with the Community version or Professional.

Install using a Package Manager

RHEL / CentOS

$ sudo yum groupinstall "Development Tools"

Debian / Ubuntu

$ sudo apt-get install build-essential

Apple / OSX using Homebrew

On OSX systems, the default compiler that is installed using XCode will not work with VoroCrust-Meshing. This is because VoroCrust-Meshing uses OpenMP, and Apple does not provide this with their compiler.
We recommend installing GCC using Homebrew:

$ brew install gcc

OSX may still want to default to Apple’s LLVM (Clang) compiler, so we recommend adding the following lines to your ${home}/.bashrc file to make gcc the default compiler (for gcc 9.x):

gcc_version=9
if [ -e "/usr/local/bin/gcc-${gcc_version}" ]; then
    export CC=/usr/local/bin/gcc-${gcc_version}
    export CXX=/usr/local/bin/g++-${gcc_version}
    export CPP=/usr/local/bin/cpp-${gcc_version}
    export LD=/usr/local/bin/gcc-${gcc_version}
    export GCOV=/usr/local/bin/gcov-${gcc_version}
    alias c++=${CXX}
    alias g++=${CXX}
    alias gcc=${CC}
    alias cpp=${CPP}
    alias ld=${CC}
    alias cc=${CC}
    alias gcov=${GCOV}
fi

Sandia Systems with SEMS modules installed

$ module load sems-env
$ module load sems-gcc/9.2.0

OpenMP

OpenMP logo

The OpenMP library is required by VoroCrust-Meshing. Most modern compilers will have it built-in. If it is installed, CMake should detect it automatically.

If you are building on an OSX system the C++ compiler provided by XCode does not provide OpenMP. Please see the C++ Compiler section for information on installing a gcc compiler.

Git

git logo

Git is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency. It can be acquired from https://git-scm.com.


‹ Getting Started | Preferred Directory Structure ›