README.md
1# Customization Points
2
3The custom directory is an injection point for custom user configurations.
4
5## Header `gtest.h`
6
7### The following macros can be defined:
8
9* `GTEST_OS_STACK_TRACE_GETTER_` - The name of an implementation of
10 `OsStackTraceGetterInterface`.
11* `GTEST_CUSTOM_TEMPDIR_FUNCTION_` - An override for `testing::TempDir()`. See
12 `testing::TempDir` for semantics and signature.
13
14## Header `gtest-port.h`
15
16The following macros can be defined:
17
18### Flag related macros:
19
20* `GTEST_FLAG(flag_name)`
21* `GTEST_USE_OWN_FLAGFILE_FLAG_` - Define to 0 when the system provides its
22 own flagfile flag parsing.
23* `GTEST_DECLARE_bool_(name)`
24* `GTEST_DECLARE_int32_(name)`
25* `GTEST_DECLARE_string_(name)`
26* `GTEST_DEFINE_bool_(name, default_val, doc)`
27* `GTEST_DEFINE_int32_(name, default_val, doc)`
28* `GTEST_DEFINE_string_(name, default_val, doc)`
29* `GTEST_FLAG_GET(flag_name)`
30* `GTEST_FLAG_SET(flag_name, value)`
31
32### Logging:
33
34* `GTEST_LOG_(severity)`
35* `GTEST_CHECK_(condition)`
36* Functions `LogToStderr()` and `FlushInfoLog()` have to be provided too.
37
38### Threading:
39
40* `GTEST_HAS_NOTIFICATION_` - Enabled if Notification is already provided.
41* `GTEST_HAS_MUTEX_AND_THREAD_LOCAL_` - Enabled if `Mutex` and `ThreadLocal`
42 are already provided. Must also provide `GTEST_DECLARE_STATIC_MUTEX_(mutex)`
43 and `GTEST_DEFINE_STATIC_MUTEX_(mutex)`
44* `GTEST_EXCLUSIVE_LOCK_REQUIRED_(locks)`
45* `GTEST_LOCK_EXCLUDED_(locks)`
46
47### Underlying library support features
48
49* `GTEST_HAS_CXXABI_H_`
50
51### Exporting API symbols:
52
53* `GTEST_API_` - Specifier for exported symbols.
54
55## Header `gtest-printers.h`
56
57* See documentation at `gtest/gtest-printers.h` for details on how to define a
58 custom printer.
59