1/** @file gsConfig.h
2
3    @brief Provides preprocessor directives configuration of G+Smo
4
5    This file is part of the G+Smo library.
6    It is autogenerated from gsConfig.h.in during the cmake
7    configuration of G+Smo. If you need to make changes edit the
8    original file in the sources and NOT THIS FILE.
9
10    This Source Code Form is subject to the terms of the Mozilla Public
11    License, v. 2.0. If a copy of the MPL was not distributed with this
12    file, You can obtain one at http://mozilla.org/MPL/2.0/.
13
14    Author(s): A. Mantzaflaris
15*/
16
17#pragma once
18
19/** Define the G+Smo version number. */
20#define GISMO_VERSION    "@gismo_VERSION@"
21#define GISMO_MAJOR      @gismo_VERSION_MAJOR@
22#define GISMO_MINOR      @gismo_VERSION_MINOR@
23#define GISMO_PATCH      @gismo_VERSION_PATCH@
24
25/** Define default coefficient type. */
26#define GISMO_COEFF_TYPE @GISMO_COEFF_TYPE@
27#ifndef real_t
28#define real_t           GISMO_COEFF_TYPE
29#endif
30
31/** Define default index type. */
32#define index_t          @GISMO_INDEX_TYPE@
33
34/** Define default dimension type. */
35#define short_t          @GISMO_INDEX_TYPE@ //short
36
37/** Define the file data directory. */
38#define GISMO_DATA_DIR "@GISMO_DATA_DIR@"
39
40/** Define the search paths. */
41#define GISMO_SEARCH_PATHS "@GISMO_SEARCH_PATHS@"
42
43/** Define the file configuration directory. */
44#define GISMO_CONFIG_DIR "@GISMO_CONFIG_DIR@"
45
46/* Enabled Extensions */
47#cmakedefine GISMO_WITH_ADIFF
48#cmakedefine GISMO_WITH_CODIPACK
49#cmakedefine GISMO_WITH_IPOPT
50#cmakedefine GISMO_WITH_MPFR
51#cmakedefine GISMO_WITH_MPI
52#cmakedefine GISMO_WITH_GMP
53#cmakedefine GISMO_WITH_ONURBS
54#cmakedefine GISMO_WITH_OCC
55#cmakedefine GISMO_WITH_PARDISO
56#cmakedefine GISMO_WITH_PASTIX
57#cmakedefine GISMO_WITH_PSOLID
58#cmakedefine GISMO_WITH_SPECTRA
59#cmakedefine GISMO_WITH_SUPERLU
60#cmakedefine GISMO_WITH_TAUCS
61#cmakedefine GISMO_WITH_TRILINOS
62#cmakedefine GISMO_WITH_UMFPACK
63#cmakedefine GISMO_WITH_UNUM
64
65/* Only include new types here that can be set as real_t */
66
67#ifdef GISMO_WITH_MPFR
68#include <mpreal.h>
69#endif
70
71#ifdef GISMO_WITH_GMP
72#include <gmpxx.h>
73#include <unsupported/Eigen/MPQClassExtra>
74#endif
75
76#ifdef GISMO_WITH_UNUM
77#include <gsUnum/gsUnum.h>
78#endif
79
80#ifdef GISMO_WITH_CODIPACK
81#include <gsCoDiPack/gsCoDiPack.h>
82#endif
83
84/* Determine if only header files should be used. */
85#cmakedefine GISMO_BUILD_LIB
86//#cmakedefine GISMO_HAS_EXTERN_TEMPLATES
87
88/* Debug settings. */
89#cmakedefine GISMO_EXTRA_DEBUG
90#cmakedefine GISMO_WARNINGS
91
92/**
93 * @name Eigen options - MUST be defined before Eigen is included
94 * @{
95 */
96
97/*
98   Eigen options -- these MUST be defined before Eigen is included.
99
100   See:
101   http://eigen.tuxfamily.org/dox/TopicPreprocessorDirectives.html
102*/
103
104/*  Index type */
105/** Eigen options -- these MUST be defined before Eigen is included.\n
106   See: http://eigen.tuxfamily.org/dox/TopicPreprocessorDirectives.html
107
108   Index type
109*/
110#define EIGEN_DEFAULT_DENSE_INDEX_TYPE  index_t
111
112/** Eigen options -- these MUST be defined before Eigen is included.\n
113   See: http://eigen.tuxfamily.org/dox/TopicPreprocessorDirectives.html
114
115   Index type
116*/
117#define EIGEN_DEFAULT_SPARSE_INDEX_TYPE index_t
118
119/** Eigen options -- these MUST be defined before Eigen is included.\n
120   See: http://eigen.tuxfamily.org/dox/TopicPreprocessorDirectives.html
121
122 Matrix storage order
123*/
124#define EIGEN_DEFAULT_TO_COL_MAJOR
125
126/** Eigen options -- these MUST be defined before Eigen is included.\n
127  See: http://eigen.tuxfamily.org/dox/TopicPreprocessorDirectives.html
128
129  Compile-time static assertions are replaced by runtime assertions;
130  this saves compilation time. */
131#define EIGEN_NO_STATIC_ASSERT
132
133/** Eigen options -- these MUST be defined before Eigen is included.\n
134    See http://eigen.tuxfamily.org/dox/TopicUsingIntelMKL.html */
135#cmakedefine EIGEN_USE_MKL_ALL
136
137#cmakedefine EIGEN_DONT_VECTORIZE
138#cmakedefine EIGEN_DISABLE_UNALIGNED_ARRAY_ASSERT
139/**@}*/
140