MFEM
v4.4.0
Finite element discretization library
Main Page
Related Pages
Classes
Files
File List
File Members
•
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Pages
config
config.hpp
Go to the documentation of this file.
1
// Copyright (c) 2010-2022, Lawrence Livermore National Security, LLC. Produced
2
// at the Lawrence Livermore National Laboratory. All Rights reserved. See files
3
// LICENSE and NOTICE for details. LLNL-CODE-806117.
4
//
5
// This file is part of the MFEM library. For more information and source code
6
// availability visit https://mfem.org.
7
//
8
// MFEM is free software; you can redistribute it and/or modify it under the
9
// terms of the BSD-3 license. We welcome feedback and contributions, see file
10
// CONTRIBUTING.md for details.
11
12
13
// Support out-of-source builds: if MFEM_CONFIG_FILE is defined, include it.
14
//
15
// Otherwise, use the local file: _config.hpp.
16
17
#ifndef MFEM_CONFIG_HPP
18
#define MFEM_CONFIG_HPP
19
20
#ifdef MFEM_CONFIG_FILE
21
#include MFEM_CONFIG_FILE
22
#else
23
#include "_config.hpp"
24
#endif
25
26
// Common configuration macros
27
28
#if (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 7)) || defined(__clang__)
29
#define MFEM_HAVE_GCC_PRAGMA_DIAGNOSTIC
30
#endif
31
32
// Windows specific options
33
#ifdef _WIN32
34
// Macro needed to get defines like M_PI from <cmath>. (Visual Studio C++ only?)
35
#define _USE_MATH_DEFINES
36
#endif
37
// On Cygwin the option -std=c++11 prevents the definition of M_PI. Defining
38
// the following macro allows us to get M_PI and some needed functions, e.g.
39
// posix_memalign(), strdup(), strerror_r().
40
#ifdef __CYGWIN__
41
#define _XOPEN_SOURCE 600
42
#endif
43
44
// Check dependencies:
45
46
// Options that require MPI
47
#ifndef MFEM_USE_MPI
48
#ifdef MFEM_USE_SUPERLU
49
#error Building with SuperLU_DIST (MFEM_USE_SUPERLU=YES) requires MPI (MFEM_USE_MPI=YES)
50
#endif
51
#ifdef MFEM_USE_MUMPS
52
#error Building with MUMPS (MFEM_USE_MUMPS=YES) requires MPI (MFEM_USE_MPI=YES)
53
#endif
54
#ifdef MFEM_USE_STRUMPACK
55
#error Building with STRUMPACK (MFEM_USE_STRUMPACK=YES) requires MPI (MFEM_USE_MPI=YES)
56
#endif
57
#ifdef MFEM_USE_MKL_CPARDISO
58
#error Building with MKL CPARDISO (MFEM_USE_MKL_CPARDISO=YES) requires MPI (MFEM_USE_MPI=YES)
59
#endif
60
#ifdef MFEM_USE_PETSC
61
#error Building with PETSc (MFEM_USE_PETSC=YES) requires MPI (MFEM_USE_MPI=YES)
62
#endif
63
#ifdef MFEM_USE_SLEPC
64
#error Building with SLEPc (MFEM_USE_SLEPC=YES) requires MPI (MFEM_USE_MPI=YES)
65
#endif
66
#ifdef MFEM_USE_PUMI
67
#error Building with PUMI (MFEM_USE_PUMI=YES) requires MPI (MFEM_USE_MPI=YES)
68
#endif
69
#endif // MFEM_USE_MPI not defined
70
71
#endif // MFEM_CONFIG_HPP
Generated on Mon Mar 21 2022 16:49:48 for MFEM by
1.8.5