diff --git a/libs/test/test/Jamfile.v2 b/libs/test/test/Jamfile.v2 index 75cbc90..6e32772 100644 --- a/libs/test/test/Jamfile.v2 +++ b/libs/test/test/Jamfile.v2 @@ -5,8 +5,10 @@ # # See http://www.boost.org/libs/test for the library home page. +project test ; -rule test-btl-lib ( test-rule : test-name : lib-name ? : pattern_file * : source_files * : extra-libs ? ) + +rule test-btl-lib ( test-rule : test-name : lib-name ? : pattern_file * : source_files * : extra-libs ? : requirements ? ) { source_files ?= $(test-name).cpp ; @@ -24,11 +26,12 @@ rule test-btl-lib ( test-rule : test-name : lib-name ? : pattern_file * : source msvc-6.5:static msvc-8.0:_SCL_SECURE_NO_DEPRECATE all + $(requirements) : $(test-name) ] ; } -rule test-btl-lib-mt ( test-rule : test-name : lib-name ? : pattern_file * : source_files * : extra-libs ? ) +rule test-btl-lib-mt ( test-rule : test-name : lib-name ? : pattern_file * : source_files * : extra-libs ? : requirements ? ) { source_files ?= $(test-name).cpp ; @@ -47,10 +50,60 @@ rule test-btl-lib-mt ( test-rule : test-name : lib-name ? : pattern_file * : sou BOOST_TEST_NO_AUTO_LINK=1 # requirements multi all + $(requirements) : $(test-name) ] ; } +alias compiler-settings + : # sources + : # requirements + gcc + @gcc-conditional + : # default-build + : # usage-requirements + # advanced compiler setup + @gcc-conditional + ; + +alias compiler-settings + : # sources + : # requirements + msvc + : # default-build + : # usage-requirements + ; + +# fall through +alias compiler-settings ; + +rule gcc-conditional ( properties * ) +{ + echo Props $(properties) ; + + # Extract version number from toolset + local is_c++11 = [ MATCH "-std=([a-z0-9+]*)" : $(properties) ] ; + + local result ; + echo is $(is_c++11) ; + + if gnu++11 in $(is_c++11) + { + echo "hier" ; + } + else + { + result += no ; + #result += -std=gnu++11 ; + echo $(result) ; + } + + return $(result) ; + +} + + + test-suite "basics_test" : [ test-btl-lib run : class_properties_test : boost_unit_test_framework ] @@ -85,7 +138,7 @@ test-suite "unit_test_framework_test" [ test-btl-lib run : test_tree_management_test : boost_unit_test_framework ] [ test-btl-lib run : run_by_name_label_test : boost_unit_test_framework/static ] [ test-btl-lib run : test_assertion_construction : boost_unit_test_framework/static ] - [ test-btl-lib run : test_datasets : boost_unit_test_framework/static : : [ glob test_datasets_src/*.cpp ] ] + [ test-btl-lib run : test_datasets : boost_unit_test_framework/static : : [ glob test_datasets_src/*.cpp ] : : compiler-settings ] ; test-suite "multithreaded_test"