cmake: build as many source files as possible
[folly.git] / CMake / folly-config.h.cmake
1 /*
2  * Copyright 2016 Facebook, Inc.
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *   http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16
17 #pragma once
18
19 #if !defined(FOLLY_MOBILE)
20 #if defined(__ANDROID__) || \
21     (defined(__APPLE__) &&  \
22      (TARGET_IPHONE_SIMULATOR || TARGET_OS_SIMULATOR || TARGET_OS_IPHONE))
23 #define FOLLY_MOBILE 1
24 #else
25 #define FOLLY_MOBILE 0
26 #endif
27 #endif // FOLLY_MOBILE
28
29 #cmakedefine FOLLY_HAVE_PTHREAD 1
30 #cmakedefine FOLLY_HAVE_PTHREAD_ATFORK 1
31
32 #cmakedefine FOLLY_HAVE_LIBGFLAGS 1
33 #cmakedefine FOLLY_UNUSUAL_GFLAGS_NAMESPACE 1
34 #cmakedefine FOLLY_GFLAGS_NAMESPACE @FOLLY_GFLAGS_NAMESPACE@
35
36 #cmakedefine FOLLY_HAVE_LIBGLOG 1
37
38 #cmakedefine FOLLY_HAVE_MALLOC_H 1
39 #cmakedefine FOLLY_HAVE_BITS_FUNCTEXCEPT_H 1
40 #cmakedefine FOLLY_HAVE_BITS_CXXCONFIG_H 1
41 #cmakedefine FOLLY_HAVE_FEATURES_H 1
42 #cmakedefine FOLLY_HAVE_LINUX_MEMBARRIER_H 1
43 #cmakedefine FOLLY_USE_JEMALLOC 1
44
45 #if FOLLY_HAVE_FEATURES_H
46 #include <features.h>
47 #endif
48
49 #cmakedefine FOLLY_HAVE_MEMRCHR 1
50 #cmakedefine FOLLY_HAVE_PREADV 1
51 #cmakedefine FOLLY_HAVE_PWRITEV 1
52 #cmakedefine FOLLY_HAVE_CLOCK_GETTIME 1
53 #cmakedefine FOLLY_HAVE_CPLUS_DEMANGLE_V3_CALLBACK 1
54
55 #cmakedefine FOLLY_HAVE_IFUNC 1
56 #cmakedefine FOLLY_HAVE_STD__IS_TRIVIALLY_COPYABLE 1
57 #cmakedefine FOLLY_HAVE_UNALIGNED_ACCESS 1
58 #cmakedefine FOLLY_HAVE_VLA 1
59 #cmakedefine FOLLY_HAVE_WEAK_SYMBOLS 1
60 #cmakedefine FOLLY_HAVE_LINUX_VDSO 1
61 #cmakedefine FOLLY_HAVE_MALLOC_USABLE_SIZE 1
62 #cmakedefine FOLLY_HAVE_INT128_T 1
63 #cmakedefine FOLLY_SUPPLY_MISSING_INT128_TRAITS 1
64 #cmakedefine FOLLY_HAVE_WCHAR_SUPPORT 1
65 #cmakedefine FOLLY_HAVE_EXTRANDOM_SFMT19937 1
66 #cmakedefine FOLLY_USE_LIBCPP 1
67 #cmakedefine FOLLY_HAVE_XSI_STRERROR_R 1
68 #cmakedefine HAVE_VSNPRINTF_ERRORS 1
69
70 #define FOLLY_VERSION "${PACKAGE_VERSION}"
71
72 #cmakedefine FOLLY_HAVE_LIBDWARF_DWARF_H 1
73 #cmakedefine FOLLY_USE_SYMBOLIZER 1
74 #define FOLLY_DEMANGLE_MAX_SYMBOL_SIZE 1024
75
76 #cmakedefine FOLLY_HAVE_SHADOW_LOCAL_WARNINGS 1
77
78 #cmakedefine FOLLY_HAVE_LIBLZ4 1
79 #cmakedefine FOLLY_HAVE_LIBLZMA 1
80 #cmakedefine FOLLY_HAVE_LIBSNAPPY 1
81 #cmakedefine FOLLY_HAVE_LIBZ 1
82 #cmakedefine FOLLY_HAVE_LIBZSTD 1
83 #cmakedefine FOLLY_HAVE_LIBBZ2 1