# Boost Nowide Library test Jamfile # Copyright (c) 2003, 2006 Beman Dawes # Copyright (c) 2012 Artyom Beilis (Tonkikh) # Copyright (c) 2020-2021 Alexander Grund # # Distributed under the Boost Software License, Version 1.0. # (See accompanying file LICENSE or www.boost.org/LICENSE_1_0.txt) # See library home page at http://www.boost.org/libs/nowide import testing ; import config : requires ; rule require-windows ( properties * ) { local result ; if ! windows in $(properties) { result = no ; } return $(result) ; } project : requirements /boost/nowide//boost_nowide pedantic on [ requires cxx11_defaulted_functions cxx11_noexcept cxx11_rvalue_references cxx11_static_assert ] [ check-target-builds ../config//cxx11_moveable_fstreams "std::fstream is moveable and swappable" : : no ] ; lib shell32 ; lib file_test_helpers : file_test_helpers.cpp : static -/boost/nowide//boost_nowide ; run test_codecvt.cpp ; run test_convert.cpp ; run test_env.cpp ; run test_env.cpp : : : BOOST_NOWIDE_TEST_INCLUDE_WINDOWS=1 : test_env_win ; run test_fs.cpp : : : /boost/filesystem//boost_filesystem/off ; run test_filebuf.cpp file_test_helpers ; run test_filebuf.cpp file_test_helpers : : : BOOST_NOWIDE_USE_FILEBUF_REPLACEMENT=1 windows:no : test_filebuf_internal ; run test_ifstream.cpp file_test_helpers ; run test_ifstream.cpp file_test_helpers : : : BOOST_NOWIDE_USE_FILEBUF_REPLACEMENT=1 windows:no : test_ifstream_internal ; run test_ofstream.cpp file_test_helpers ; run test_ofstream.cpp file_test_helpers : : : BOOST_NOWIDE_USE_FILEBUF_REPLACEMENT=1 windows:no : test_ofstream_internal ; run test_fstream.cpp file_test_helpers ; run test_fstream.cpp file_test_helpers : : : BOOST_NOWIDE_USE_FILEBUF_REPLACEMENT=1 windows:no : test_fstream_internal ; run test_fstream_special.cpp file_test_helpers ; run test_fstream_special.cpp file_test_helpers : : : BOOST_NOWIDE_USE_FILEBUF_REPLACEMENT=1 windows:no : test_fstream_special_internal ; run test_iostream.cpp file_test_helpers : : : windows:user32 ; if [ MATCH (--nowide-enable-cmake) : [ modules.peek : ARGV ] ] { # Use CMake as a cross-platform scripting language for this test path-constant CMakeScript : test_iostream_passthrough.cmake ; run test_iostream.cpp file_test_helpers : : : BOOST_NOWIDE_TEST_INTERACTIVE=1 "cmake -P $(CMakeScript)" : test_iostream_passthrough ; } run test_stackstring.cpp ; run test_stat.cpp ; run test_stdio.cpp ; run test_system.cpp : : : BOOST_NOWIDE_TEST_USE_NARROW=1 windows:shell32 darwin,shared:no : test_system_n ; run test_system.cpp : : : BOOST_NOWIDE_TEST_USE_NARROW=0 shell32 @require-windows : test_system_w ; run test_system.cpp : : : BOOST_NOWIDE_TEST_USE_NARROW=0 BOOST_USE_WINDOWS_H shell32 @require-windows : test_system_use_windows_h ; run test_system.cpp : : : BOOST_NOWIDE_TEST_USE_NARROW=0 BOOST_USE_WINDOWS_H WIN32_LEAN_AND_MEAN shell32 @require-windows : test_system_use_windows_h_lean ; run test_traits.cpp : : : BOOST_NOWIDE_TEST_BFS_PATH /boost/filesystem//boost_filesystem/off ; compile benchmark_fstream.cpp : BOOST_NOWIDE_USE_WIN_FSTREAM=1 [ requires cxx11_hdr_chrono ] ;