1# Boost Nowide Library test Jamfile 2 3# Copyright (c) 2003, 2006 Beman Dawes 4# Copyright (c) 2012 Artyom Beilis (Tonkikh) 5# Copyright (c) 2020 Alexander Grund 6# 7# Distributed under the Boost Software License, Version 1.0. 8# (See accompanying file LICENSE or www.boost.org/LICENSE_1_0.txt) 9# See library home page at http://www.boost.org/libs/nowide 10 11import testing ; 12import config : requires ; 13 14obj cxx11_moveable_fstreams : check_movable_fstreams.cpp ; 15explicit cxx11_moveable_fstreams ; 16 17rule require-windows ( properties * ) 18{ 19 local result ; 20 if ! <target-os>windows in $(properties) 21 { 22 result = <build>no ; 23 } 24 return $(result) ; 25} 26 27project : requirements 28 <library>/boost/nowide//boost_nowide 29 <warnings>pedantic 30 <warnings-as-errors>on 31 [ requires 32 cxx11_defaulted_functions 33 cxx11_noexcept 34 cxx11_rvalue_references 35 cxx11_static_assert 36 ] 37 [ check-target-builds cxx11_moveable_fstreams "std::fstream is moveable and swappable" : : <build>no ] 38 ; 39 40lib shell32 ; 41 42run test_codecvt.cpp ; 43run test_convert.cpp ; 44run test_env.cpp ; 45run test_env.cpp : : : <define>BOOST_NOWIDE_TEST_INCLUDE_WINDOWS=1 : test_env_win ; 46run test_fs.cpp : : : <library>/boost/filesystem//boost_filesystem/<warnings-as-errors>off : ; 47run test_fstream.cpp ; 48run test_fstream.cpp : : : <define>BOOST_NOWIDE_USE_FILEBUF_REPLACEMENT=1 <target-os>windows:<build>no : test_internal_fstream ; 49run test_fstream_cxx11.cpp ; 50run test_fstream_cxx11.cpp : : : <define>BOOST_NOWIDE_USE_FILEBUF_REPLACEMENT=1 <target-os>windows:<build>no : test_internal_fstream_cxx11 ; 51run test_iostream.cpp ; 52run test_stackstring.cpp ; 53run test_stat.cpp ; 54run test_stdio.cpp ; 55run test_system.cpp : : : <define>BOOST_NOWIDE_TEST_USE_NARROW=1 <target-os>windows:<library>shell32 <target-os>darwin,<link>shared:<build>no : test_system_n ; 56run test_system.cpp : : : <define>BOOST_NOWIDE_TEST_USE_NARROW=0 <target-os>windows:<library>shell32 <conditional>@require-windows : test_system_w ; 57 58compile benchmark_fstream.cpp : <define>BOOST_NOWIDE_USE_WIN_FSTREAM=1 [ requires cxx11_hdr_chrono ] ; 59