/*
 * StoRM - Build-in Options
 *
 * This file is parsed by CMake during makefile generation
 * It contains information such as the base path to the test/example data
 */

#ifndef STORM_GENERATED_STORMCONFIG_H_
#define STORM_GENERATED_STORMCONFIG_H_

// The directory of the sources from which Storm was built.
#define STORM_SOURCE_DIR "@PROJECT_SOURCE_DIR@"

// The directory of the test resources used in the tests (model files, ...).
#define STORM_TEST_RESOURCES_DIR "@STORM_TEST_RESOURCES_DIR@"

// The directory in which Storm was built.
#define STORM_BUILD_DIR "@CMAKE_BINARY_DIR@"

// Boost include directory used during compilation.
#define STORM_BOOST_INCLUDE_DIR "@STORM_BOOST_INCLUDE_DIR@"

// Carl include directory used during compilation.
#define STORM_CARL_INCLUDE_DIR "@carl_INCLUDE_DIR@"

// Whether Gurobi is available and to be used (define/undef)
#cmakedefine STORM_HAVE_GUROBI

// Whether CUDA is available (define/undef)
#@STORM_CPP_CUDA_DEF@ STORM_HAVE_CUDA

// Whether GLPK is available and to be used (define/undef)
#cmakedefine STORM_HAVE_GLPK

// Whether CudaForStorm is available and to be used (define/undef)
#@STORM_CPP_CUDAFORSTORM_DEF@ STORM_HAVE_CUDAFORSTORM

// Whether Z3 is available and to be used (define/undef)
#cmakedefine STORM_HAVE_Z3

// Whether the optimization feature of Z3 is available and to be used (define/undef)
#cmakedefine STORM_HAVE_Z3_OPTIMIZE

// Version of Z3 used by Storm.
#define STORM_Z3_VERSION_MAJOR @STORM_Z3_VERSION_MAJOR@
#define STORM_Z3_VERSION_MINOR @STORM_Z3_VERSION_MINOR@
#define STORM_Z3_VERSION_PATCH @STORM_Z3_VERSION_PATCH@
#define STORM_Z3_VERSION @Z3_VERSION@
#cmakedefine STORM_Z3_API_USES_STANDARD_INTEGERS

// Whether MathSAT is available and to be used (define/undef)
#cmakedefine STORM_HAVE_MSAT

// Whether benchmarks from QVBS can be used as input
#cmakedefine STORM_HAVE_QVBS

// The root directory of QVBS
#cmakedefine STORM_QVBS_ROOT "@STORM_QVBS_ROOT@"

// Whether Intel Threading Building Blocks are available and to be used (define/undef)
#cmakedefine STORM_HAVE_INTELTBB

// Whether support for parametric systems should be enabled
#cmakedefine PARAMETRIC_SYSTEMS

// Whether CLN is available and to be used (define/undef)
#cmakedefine STORM_HAVE_CLN

// Include directory for CLN headers
#cmakedefine CLN_INCLUDE_DIR "@CLN_INCLUDE_DIR@"

// Whether GMP is available  (it is always available nowadays)
#define STORM_HAVE_GMP

// Include directory for GMP headers
#cmakedefine GMP_INCLUDE_DIR "@GMP_INCLUDE_DIR@"
#cmakedefine GMPXX_INCLUDE_DIR "@GMPXX_INCLUDE_DIR@"

// Whether carl is available and to be used.
#cmakedefine STORM_HAVE_CARL

#cmakedefine STORM_USE_CLN_EA

#cmakedefine STORM_USE_CLN_RF

#cmakedefine STORM_HAVE_XERCES

// Whether Spot is available and to be used
#cmakedefine STORM_HAVE_SPOT

// Whether LTL model checking shall be enabled
#ifdef STORM_HAVE_SPOT
        #define STORM_HAVE_LTL_MODELCHECKING_SUPPORT
#endif // STORM_HAVE_SPOT

// Whether smtrat is available and to be used.
#cmakedefine STORM_HAVE_SMTRAT

// Whether HyPro is available and to be used.
#cmakedefine STORM_HAVE_HYPRO

#cmakedefine STORM_LOGGING_FRAMEWORK

#cmakedefine STORM_LOG_DISABLE_DEBUG

#endif // STORM_GENERATED_STORMCONFIG_H_