#==============================================================================
#   Copyright (c) 2001-2007 Joel de Guzman
#
#   Distributed under the Boost Software License, Version 1.0. (See accompanying
#   file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
#==============================================================================
project spirit-scheme-examples
    : requirements
        <toolset>gcc:<c++-template-depth>300
        <include>../
    :
    :
    ;

exe sexpr_input_test : sexpr/sexpr_input_test.cpp ;
exe sexpr_output_test : sexpr/sexpr_output_test.cpp ;
exe sexpr_error_test : sexpr/sexpr_error_test.cpp ;

exe parse_qi_test
   : parse_qiexpr/generate_sexpr_to_ostream.cpp
     parse_qiexpr/parse_qi_test.cpp
     parse_qiexpr/parse_qiexpr.cpp
   ;

exe generate_qi_test
   : parse_qiexpr/parse_qiexpr.cpp
     generate_qiexpr/generate_qi_test.cpp
     generate_qiexpr/generate_qiexpr.cpp
   ;

exe factorial1 : scheme/factorial1.cpp ;
exe factorial2 : scheme/factorial2.cpp ;
exe try_scheme : scheme/try_scheme.cpp ;



