# copyright John Maddock 2003 subproject libs/regex/example ; # bring in the rules for testing import testing ; # # test for MFC by looking inside VC++ include directories: # if ! $(gMFC_CHECK) { gMFC_CHECK = true ; if $(VS71COMNTOOLS) { VS71COMNTOOLS = $(VS71COMNTOOLS:J=" ") ; if [ GLOB $(VS71COMNTOOLS)..\\..\\VC7\\atlmfc\\include : cstringt.h ] { ECHO MFC/ATL regex wrappers will be tested when building with VC7.1 ; REGEX_MFC_OPTS += "<vc-7_1><*><define>TEST_MFC=1" ; } } if $(VSCOMNTOOLS) { VSCOMNTOOLS = $(VSCOMNTOOLS:J=" ") ; if [ GLOB $(VSCOMNTOOLS)\\..\\..\\VC7\\atlmfc\\include : cstringt.h ] { ECHO MFC/ATL regex wrappers will be tested when building with VC7 ; REGEX_MFC_OPTS += "<vc7><*><define>TEST_MFC=1" ; REGEX_MFC_OPTS += "<vc7-stlport><*><define>TEST_MFC=1" ; REGEX_MFC_OPTS += "<vc-7_0><*><define>TEST_MFC=1" ; REGEX_MFC_OPTS += "<vc-7_0-stlport><*><define>TEST_MFC=1" ; } } if $(VS80COMNTOOLS) { VS80COMNTOOLS = $(VS80COMNTOOLS:J=" ") ; if [ GLOB $(VS80COMNTOOLS)..\\..\\VC8\\atlmfc\\include : cstringt.h ] { ECHO MFC/ATL regex wrappers will be tested when building with VC8 ; REGEX_MFC_OPTS += "<vc-8_0><*><define>TEST_MFC=1" ; } } } rule regex-test-run ( sources + : input * : requirements * ) { return [ run # sources $(sources) <template>../build/regex-test-options # dependencies <lib>../build/boost_regex : # additional args $(input) : # test-files : # requirements <threading>multi $(REGEX_MFC_OPTS) $(requirements) : # test name ] ; } test-suite regex-examples : [ regex-test-run timer/regex_timer.cpp <template>../build/msvc-stlport-tricky : $(BOOST_ROOT)/libs/regex/example/timer/input_script.txt ] [ regex-test-run grep/grep.cpp <lib>../../program_options/build/boost_program_options : -n -b $(BOOST_ROOT)/boost/regex.hpp $(BOOST_ROOT)/boost/type_traits.hpp : std::locale-support ] [ regex-test-run snippets/credit_card_example.cpp ] [ regex-test-run snippets/mfc_example.cpp ] [ regex-test-run snippets/icu_example.cpp ] [ regex-test-run snippets/partial_regex_grep.cpp : $(BOOST_ROOT)/libs/regex/index.htm ] [ regex-test-run snippets/partial_regex_match.cpp : 1234-5678-8765-4 ] [ regex-test-run snippets/regex_grep_example_1.cpp : $(BOOST_ROOT)/boost/rational.hpp ] [ regex-test-run snippets/regex_grep_example_2.cpp : $(BOOST_ROOT)/boost/rational.hpp ] [ regex-test-run snippets/regex_grep_example_3.cpp : $(BOOST_ROOT)/boost/rational.hpp ] [ regex-test-run snippets/regex_grep_example_4.cpp : $(BOOST_ROOT)/boost/rational.hpp ] [ regex-test-run snippets/regex_match_example.cpp : -auto ] [ regex-test-run snippets/regex_merge_example.cpp : $(BOOST_ROOT)/boost/rational.hpp ] [ regex-test-run snippets/regex_replace_example.cpp : $(BOOST_ROOT)/boost/rational.hpp ] [ regex-test-run snippets/regex_search_example.cpp : $(BOOST_ROOT)/boost/rational.hpp ] [ regex-test-run snippets/regex_split_example_1.cpp : -auto ] [ regex-test-run snippets/regex_split_example_2.cpp : $(BOOST_ROOT)/libs/regex/doc/index.html ] [ regex-test-run snippets/regex_token_iterator_eg_1.cpp : -auto ] [ regex-test-run snippets/regex_token_iterator_eg_2.cpp : $(BOOST_ROOT)/libs/regex/doc/index.html ] [ regex-test-run snippets/regex_iterator_example.cpp : $(BOOST_ROOT)/boost/rational.hpp ] [ run # sources snippets/captures_example.cpp <template>../build/regex-options # dependencies <lib>../test/captures/boost_regex_extra : # additional args : # test-files : # requirements <threading>multi <define>BOOST_REGEX_MATCH_EXTRA=1 <define>BOOST_REGEX_NO_LIB=1 : # test name captures_example ] ;