1# Boost.Wave: A Standard compliant C++ preprocessor library
2#
3# Boost Wave Library Test Jamfile
4#
5# http://www.boost.org/
6#
7# Copyright (c) 2001-2011 Hartmut Kaiser. Distributed under the Boost
8# Software License, Version 1.0. (See accompanying file
9# LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
10
11
12#
13# These are the sources to compile for the testwave application
14#
15SOURCES_STATIC = testwave testwave_app
16    ;
17
18SOURCES_DYNAMIC = testwave_dll testwave_app_dll
19    ;
20
21SOURCES = $(SOURCE_STATIC) $(SOURCES_DYNAMIC)
22    ;
23
24path-constant TESTWAVE_DIR : $(BOOST_ROOT)/libs/wave/test/testwave/testfiles
25    ;
26
27#
28# This are the arguments for the testwave executable
29#
30TESTWAVE_ARGUMENTS =
31        -d4                              # use -d4 for verbose results
32        --hooks=1                        # test hooks as well
33        -S$(TESTWAVE_DIR)
34        -S$(BOOST_ROOT) -I$(BOOST_ROOT)
35    ;
36
37#
38# These are the names of the different unit tests to run
39#
40TESTWAVE_FILES = test.cfg
41    ;
42
43project wave/test
44    ;
45
46for local source in $(SOURCES)
47{
48    local requirements ;
49    requirements += <toolset-msvc:version>7.1:<rtti>off ; # workaround for compiler bug
50    requirements += <toolset-msvc:version>7.1_stlport4:<rtti>off ;
51    obj $(source) : ../testwave/$(source).cpp : $(requirements) ;
52}
53
54#
55# Wave test suite
56#
57test-suite wave
58    :
59        [
60            run
61            # sources
62                ../testwave/$(SOURCES_DYNAMIC).cpp
63                /boost/wave//boost_wave
64                /boost/program_options//boost_program_options
65                /boost/filesystem//boost_filesystem
66                /boost/system//boost_system
67                /boost/thread//boost_thread
68                /boost/date_time//boost_date_time
69            :
70            # arguments
71                $(TESTWAVE_ARGUMENTS)
72                --config-file $(TESTWAVE_DIR)/$(TESTWAVE_FILES)
73            :
74            # input files
75            :
76            # requirements
77                <threading>multi
78                <variant>debug
79                <link>shared:<define>BOOST_ALL_DYN_LINK=1
80                <toolset>msvc:<define>_SCL_SECURE_NO_DEPRECATE
81                <toolset>msvc:<define>_CRT_SECURE_NO_DEPRECATE
82#                <define>BOOST_LIB_DIAGNOSTIC=1
83            :
84            # name
85                testwave_dll
86        ]
87
88        [
89            run
90            # sources
91                ../testwave/$(SOURCES_STATIC).cpp
92                /boost/wave//boost_wave/<link>static
93                /boost/program_options//boost_program_options/<link>static
94                /boost/filesystem//boost_filesystem/<link>static
95                /boost/system//boost_system/<link>static
96                /boost/thread//boost_thread/<link>static
97                /boost/date_time//boost_date_time/<link>static
98            :
99            # arguments
100                $(TESTWAVE_ARGUMENTS)
101                --config-file $(TESTWAVE_DIR)/$(TESTWAVE_FILES)
102            :
103            # input files
104            :
105            # requirements
106                <threading>multi
107                <variant>debug
108                <link>static     # Linking to DLL tested by testwave_dll
109                <toolset>msvc:<define>_SCL_SECURE_NO_DEPRECATE
110                <toolset>msvc:<define>_CRT_SECURE_NO_DEPRECATE
111#                <define>BOOST_LIB_DIAGNOSTIC=1
112            :
113            # name
114                testwave
115        ]
116
117        # test the Slex wave lexing component
118        [
119            run
120            # sources
121                ../testlexers/test_slex_lexer.cpp
122                /boost/wave//boost_wave
123                /boost/program_options//boost_program_options
124                /boost/filesystem//boost_filesystem
125                /boost/thread//boost_thread
126                /boost/system//boost_system
127                /boost/date_time//boost_date_time
128            :
129            # arguments
130            :
131            # input files
132            :
133            # requirements
134                <threading>multi
135                <variant>debug
136                <toolset>msvc:<define>_SCL_SECURE_NO_DEPRECATE
137                <toolset>msvc:<define>_CRT_SECURE_NO_DEPRECATE
138            :
139            # name
140                test_slex_lexer
141        ]
142        # test the Re2C wave lexing component
143        [
144            run
145            # sources
146                ../testlexers/test_re2c_lexer.cpp
147                /boost/wave//boost_wave
148                /boost/program_options//boost_program_options
149                /boost/filesystem//boost_filesystem
150                /boost/thread//boost_thread
151                /boost/system//boost_system
152                /boost/date_time//boost_date_time
153            :
154            # arguments
155            :
156            # input files
157            :
158            # requirements
159                <threading>multi
160                <variant>debug
161                <toolset>msvc:<define>_SCL_SECURE_NO_DEPRECATE
162                <toolset>msvc:<define>_CRT_SECURE_NO_DEPRECATE
163            :
164            # name
165                test_re2c_lexer
166        ]
167
168        [
169            run
170            # sources
171                ../testwave/quick.cpp
172                /boost/wave//boost_wave
173                /boost/thread//boost_thread
174                /boost/filesystem//boost_filesystem
175        ]
176    ;
177
178