]>
Commit | Line | Data |
---|---|---|
7c673cae | 1 | # Copyright (C) 2001-2003 Douglas Gregor |
b32b8144 | 2 | # Copyright (C) 2011-2017 Antony Polukhin |
7c673cae FG |
3 | # |
4 | # Distributed under the Boost Software License, Version 1.0. (See accompanying | |
5 | # file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) | |
6 | # | |
7 | ||
8 | import testing ; | |
9 | import feature ; | |
10 | ||
11 | project | |
12 | : requirements | |
13 | <library>/boost/test//boost_unit_test_framework | |
14 | <link>static | |
15 | <toolset>gcc-4.7:<cxxflags>-ftrapv | |
16 | <toolset>gcc-4.6:<cxxflags>-ftrapv | |
17 | <toolset>clang:<cxxflags>-ftrapv | |
18 | # default to all warnings on: | |
19 | <warnings>all | |
20 | # set warnings as errors for those compilers we know we get warning free: | |
21 | <toolset>gcc:<cxxflags>-Wextra | |
b32b8144 FG |
22 | |
23 | # Not a lexical_cast related warning: boost/preprocessor/variadic/elem.hpp:29:46: warning: variadic macros are a C99 feature | |
24 | <toolset>clang:<cxxflags>-Wno-variadic-macros | |
25 | <toolset>gcc:<cxxflags>-Wno-variadic-macros | |
26 | ||
27 | # Not a lexical_cast related warning: boost/mpl/aux_/preprocessed/gcc/greater_equal.hpp:78:1: warning: empty macro arguments are a C99 feature [-Wc99-extensions] | |
28 | # boost/mpl/iter_fold.hpp:45:1: warning: empty macro arguments are a C99 feature [-Wc99-extensions] | |
29 | <toolset>clang:<cxxflags>-Wno-c99-extensions | |
7c673cae FG |
30 | ; |
31 | ||
32 | # Thanks to Steven Watanabe for helping with <nowchar> feature | |
33 | feature.feature nowchar : on : | |
34 | composite optional propagated link-incompatible ; | |
92f5a8d4 | 35 | feature.compose <nowchar>on : <cxxflags>"/Zc:wchar_t-" ; |
7c673cae FG |
36 | |
37 | test-suite conversion | |
38 | : [ run lexical_cast_test.cpp ] | |
39 | [ run lexical_cast_loopback_test.cpp ] | |
40 | [ run lexical_cast_abstract_test.cpp ] | |
41 | [ run lexical_cast_noncopyable_test.cpp ] | |
42 | [ run lexical_cast_vc8_bug_test.cpp ] | |
43 | [ run lexical_cast_wchars_test.cpp ] | |
44 | [ run lexical_cast_float_types_test.cpp ] | |
45 | [ run lexical_cast_inf_nan_test.cpp ] | |
46 | [ run lexical_cast_containers_test.cpp : : : <toolset>gcc:<cxxflags>-Wno-long-long <toolset>clang:<cxxflags>-Wno-long-long ] | |
47 | [ run lexical_cast_empty_input_test.cpp ] | |
48 | [ run lexical_cast_pointers_test.cpp ] | |
49 | [ compile lexical_cast_typedefed_wchar_test.cpp : <toolset>msvc:<nowchar>on ] | |
50 | [ run lexical_cast_typedefed_wchar_test_runtime.cpp : : : <toolset>msvc:<nowchar>on <toolset>msvc,<stdlib>stlport:<build>no ] | |
51 | [ run lexical_cast_no_locale_test.cpp : : : <define>BOOST_NO_STD_LOCALE <define>BOOST_LEXICAL_CAST_ASSUME_C_LOCALE ] | |
52 | [ run lexical_cast_no_exceptions_test.cpp : : : <define>BOOST_NO_EXCEPTIONS | |
53 | <toolset>gcc-4.3:<cxxflags>-fno-exceptions | |
54 | <toolset>gcc-4.4:<cxxflags>-fno-exceptions | |
55 | <toolset>gcc-4.5:<cxxflags>-fno-exceptions | |
56 | <toolset>gcc-4.6:<cxxflags>-fno-exceptions | |
57 | <toolset>gcc-4.7:<cxxflags>-fno-exceptions | |
58 | <toolset>gcc-4.8:<cxxflags>-fno-exceptions | |
59 | <toolset>clang:<cxxflags>-fno-exceptions | |
60 | ] | |
61 | [ run lexical_cast_iterator_range_test.cpp ] | |
b32b8144 FG |
62 | [ run lexical_cast_arrays_test.cpp : : : |
63 | <toolset>msvc:<cxxflags>/wd4512 # assignment operator could not be generated | |
64 | ] | |
7c673cae FG |
65 | [ run lexical_cast_integral_types_test.cpp ] |
66 | [ run lexical_cast_stream_detection_test.cpp ] | |
67 | [ run lexical_cast_stream_traits_test.cpp ] | |
68 | [ compile-fail lexical_cast_to_pointer_test.cpp ] | |
69 | [ run lexical_cast_filesystem_test.cpp ../../filesystem/build//boost_filesystem/<link>static ] | |
70 | [ run lexical_cast_try_lexical_convert.cpp ] | |
b32b8144 FG |
71 | [ run lexical_cast_no_comp_time_prcision.cpp : : : |
72 | <toolset>msvc:<cxxflags>/wd4127 # conditional expression is constant | |
73 | ] | |
7c673cae FG |
74 | ; |
75 | ||
76 | # Assuring that examples compile and run. Adding sources from `example` directory to the `conversion` test suite. | |
77 | for local p in [ glob ../example/*.cpp ] | |
78 | { | |
79 | conversion += [ run $(p) ] ; | |
80 | } | |
81 | ||
82 |