1 /*
2  *  Created by Phil on 10/2/2014.
3  *  Copyright 2014 Two Blue Cubes Ltd. All rights reserved.
4  *
5  *  Distributed under the Boost Software License, Version 1.0. (See accompanying
6  *  file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
7  *
8  */
9 #ifndef TWOBLUECUBES_CATCH_CLARA_H_INCLUDED
10 #define TWOBLUECUBES_CATCH_CLARA_H_INCLUDED
11 
12 // Use Catch's value for console width (store Clara's off to the side, if present)
13 #ifdef CLARA_CONFIG_CONSOLE_WIDTH
14 #define CATCH_TEMP_CLARA_CONFIG_CONSOLE_WIDTH CATCH_CLARA_TEXTFLOW_CONFIG_CONSOLE_WIDTH
15 #undef CATCH_CLARA_TEXTFLOW_CONFIG_CONSOLE_WIDTH
16 #endif
17 #define CATCH_CLARA_TEXTFLOW_CONFIG_CONSOLE_WIDTH CATCH_CONFIG_CONSOLE_WIDTH-1
18 
19 #ifdef __clang__
20 #pragma clang diagnostic push
21 #pragma clang diagnostic ignored "-Wweak-vtables"
22 #pragma clang diagnostic ignored "-Wexit-time-destructors"
23 #pragma clang diagnostic ignored "-Wshadow"
24 #endif
25 
26 #include "../external/clara.hpp"
27 
28 #ifdef __clang__
29 #pragma clang diagnostic pop
30 #endif
31 
32 // Restore Clara's value for console width, if present
33 #ifdef CATCH_TEMP_CLARA_CONFIG_CONSOLE_WIDTH
34 #define CATCH_CLARA_TEXTFLOW_CONFIG_CONSOLE_WIDTH CATCH_TEMP_CLARA_CONFIG_CONSOLE_WIDTH
35 #undef CATCH_TEMP_CLARA_CONFIG_CONSOLE_WIDTH
36 #endif
37 
38 #endif // TWOBLUECUBES_CATCH_CLARA_H_INCLUDED
39