Crow  1.1
A C++ microframework for the web
 
Loading...
Searching...
No Matches
settings.h
1#pragma once
2// settings for crow
3// TODO(ipkn) replace with runtime config. libucl?
4
5/* #ifdef - enables debug mode */
6//#define CROW_ENABLE_DEBUG
7
8/* #ifdef - enables logging */
9#define CROW_ENABLE_LOGGING
10
11/* #ifdef - enforces section 5.2 and 6.1 of RFC6455 (only accepting masked messages from clients) */
12//#define CROW_ENFORCE_WS_SPEC
13
14/* #define - specifies log level */
15/*
16 Debug = 0
17 Info = 1
18 Warning = 2
19 Error = 3
20 Critical = 4
21
22 default to INFO
23*/
24#ifndef CROW_LOG_LEVEL
25#define CROW_LOG_LEVEL 1
26#endif
27
28#ifndef CROW_STATIC_DIRECTORY
29#define CROW_STATIC_DIRECTORY "static/"
30#endif
31#ifndef CROW_STATIC_ENDPOINT
32#define CROW_STATIC_ENDPOINT "/static/<path>"
33#endif
34
35// compiler flags
36#if defined(_MSVC_LANG) && _MSVC_LANG >= 201402L
37#define CROW_CAN_USE_CPP14
38#endif
39#if __cplusplus >= 201402L
40#define CROW_CAN_USE_CPP14
41#endif
42
43#if defined(_MSVC_LANG) && _MSVC_LANG >= 201703L
44#define CROW_CAN_USE_CPP17
45#endif
46#if __cplusplus >= 201703L
47#define CROW_CAN_USE_CPP17
48#if defined(__GNUC__) && __GNUC__ < 8
49#define CROW_FILESYSTEM_IS_EXPERIMENTAL
50#endif
51#endif
52
53#if defined(_MSC_VER)
54#if _MSC_VER < 1900
55#define CROW_MSVC_WORKAROUND
56#define constexpr const
57#define noexcept throw()
58#endif
59#endif
60
61#if defined(__GNUC__) && __GNUC__ == 8 && __GNUC_MINOR__ < 4
62#if __cplusplus > 201103L
63#define CROW_GCC83_WORKAROUND
64#else
65#error "GCC 8.1 - 8.3 has a bug that prevents Crow from compiling with C++11. Please update GCC to > 8.3 or use C++ > 11."
66#endif
67#endif