Skip to content

Instantly share code, notes, and snippets.

@martemyev
Last active June 28, 2016 19:39
Show Gist options
  • Save martemyev/e79ea725a2575fb593e4a95f75ab7717 to your computer and use it in GitHub Desktop.
Save martemyev/e79ea725a2575fb593e4a95f75ab7717 to your computer and use it in GitHub Desktop.
Template of a config file for the MFEM library
// Copyright (c) 2010, Lawrence Livermore National Security, LLC. Produced at
// the Lawrence Livermore National Laboratory. LLNL-CODE-443211. All Rights
// reserved. See file COPYRIGHT for details.
//
// This file is part of the MFEM library. For more information and source code
// availability see http://mfem.org.
//
// MFEM is free software; you can redistribute it and/or modify it under the
// terms of the GNU Lesser General Public License (as published by the Free
// Software Foundation) version 2.1 dated February 1999.
#ifndef MFEM_CONFIG_HEADER
#define MFEM_CONFIG_HEADER
// Build the parallel MFEM library.
// Requires an MPI compiler, and the libraries HYPRE and METIS.
#cmakedefine MFEM_USE_MPI
// Enable debug checks in MFEM.
#cmakedefine MFEM_DEBUG
// Enable this option if linking with METIS version 5 (parallel MFEM).
#cmakedefine MFEM_USE_METIS_5
// Use LAPACK routines for various dense linear algebra operations.
#cmakedefine MFEM_USE_LAPACK
// Use thread-safe implementation. This comes at the cost of extra memory
// allocation and de-allocation.
#cmakedefine MFEM_THREAD_SAFE
// Enable experimental OpenMP support. Requires MFEM_THREAD_SAFE.
#cmakedefine MFEM_USE_OPENMP
// Enable MFEM functionality based on the Mesquite library.
#cmakedefine MFEM_USE_MESQUITE
// Enable MFEM functionality based on the SuiteSparse library.
#cmakedefine MFEM_USE_SUITESPARSE
// Internal MFEM option: enable group/batch allocation for some small objects.
#cmakedefine MFEM_USE_MEMALLOC
// Enable functionality based on the Gecko library
#cmakedefine MFEM_USE_GECKO
// Which library functions to use in class StopWatch for measuring time.
// The available options are:
// 0 - use std::clock from <ctime>
// 1 - use times from <sys/times.h>
// 2 - use high-resolution POSIX clocks
// 3 - use QueryPerformanceCounter from <windows.h>
// If not defined, an option is selected automatically.
#define MFEM_TIMER_TYPE @MFEM_TIMER_TYPE@
// Windows specific options
// Macro needed to get defines like M_PI from <cmath>. (Visual Studio C++ only?)
#cmakedefine _USE_MATH_DEFINES
#endif
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment