The following tools and libraries are required to build VoroCrust-Meshing.
CMake
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
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
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 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.