# # Copyright Andrey Semashev 2007 - 2013. # Distributed under the Boost Software License, Version 1.0. # (See accompanying file LICENSE_1_0.txt or copy at # http://www.boost.org/LICENSE_1_0.txt) # # The file was adapted from libs/tr2/test/Jamfile.v2 by John Maddock. import testing ; project : requirements common msvc:_SCL_SECURE_NO_WARNINGS msvc:_SCL_SECURE_NO_DEPRECATE msvc:_CRT_SECURE_NO_WARNINGS msvc:_CRT_SECURE_NO_DEPRECATE intel-win:_SCL_SECURE_NO_WARNINGS intel-win:_SCL_SECURE_NO_DEPRECATE intel-win:_CRT_SECURE_NO_WARNINGS intel-win:_CRT_SECURE_NO_DEPRECATE gcc:-fno-strict-aliasing # avoids strict aliasing violations in other Boost components /boost/log//boost_log /boost/date_time//boost_date_time /boost/regex//boost_regex /boost/filesystem//boost_filesystem /boost/system//boost_system /boost/test//boost_unit_test_framework single:BOOST_LOG_NO_THREADS multi:/boost/thread//boost_thread : default-build # Testers typically don't specify threading environment and the library can be built and tested for single and multi. I'm more interested in multi though. multi # static ; # this rule enumerates through all the sources and invokes # the run rule for each source, the result is a list of all # the run rules, which we can pass on to the test_suite rule: rule test_all { #ECHO executing test_all rule ; local all_rules = ; for local file_compile in [ glob compile/*.cpp ] { all_rules += [ compile $(file_compile) ] ; } for local file_compile_fail in [ glob compile_fail/*.cpp ] { all_rules += [ compile-fail $(file_compile_fail) ] ; } for local file_run in [ glob run/*.cpp ] { all_rules += [ run $(file_run) ] ; } #ECHO $(all_rules) ; return $(all_rules) ; } test-suite log : [ test_all r ] [ build-project ../example ] ;