import modules ;

BOOST_ROOT = [ modules.peek : BOOST_ROOT ] ;

use-project /torrent : .. ;

if $(BOOST_ROOT)
{
	use-project /boost : $(BOOST_ROOT) ;
}

variant debug-mode : debug : <asserts>on <debug-iterators>on <invariant-checks>full ;

project client_test
	: requirements
	<threading>multi <library>/torrent//torrent
	<toolset>darwin:<cflags>-Wno-unused-command-line-argument
# disable warning C4275: non DLL-interface classkey 'identifier' used as base for DLL-interface classkey 'identifier'
	<toolset>msvc:<cflags>/wd4275
	# C4268: 'identifier' : 'const' static/global data initialized
	#        with compiler generated default constructor fills the object with zeros
	<toolset>msvc:<cflags>/wd4268
	<toolset>msvc:<cflags>/wd4373
	: default-build
	<link>static
	<variant>debug-mode
	;

exe client_test : client_test.cpp print.cpp torrent_view.cpp session_view.cpp ;

exe simple_client : simple_client.cpp ;
exe custom_storage : custom_storage.cpp ;
exe bt-get : bt-get.cpp ;
exe bt-get2 : bt-get2.cpp ;
exe stats_counters : stats_counters.cpp ;
exe dump_torrent : dump_torrent.cpp ;
exe make_torrent : make_torrent.cpp ;
exe connection_tester : connection_tester.cpp ;
exe upnp_test : upnp_test.cpp ;

explicit stage_client_test ;
explicit stage_connection_tester ;
explicit stage ;

install stage : client_test connection_tester make_torrent dump_torrent upnp_test stats_counters bt-get bt-get2 simple_client : <location>. ;
install stage_client_test : client_test : <location>. ;
install stage_connection_tester : connection_tester : <location>. ;

