# Wave: A Standard compliant C++ preprocessor
#
# Boost Wave Library Build Jamfile
#
# http://www.boost.org/
#
# Copyright (c) 2001-2010 Hartmut Kaiser. 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
    : requirements
      <toolset>msvc:<define>_SCL_SECURE_NO_DEPRECATE
      <toolset>msvc:<define>_CRT_SECURE_NO_DEPRECATE
    ;

exe wave
    :
    ../cpp.cpp 
    /boost//wave
    /boost//program_options
    /boost//filesystem
    /boost//serialization
    /boost//system
    /boost//thread
    /boost//date_time
    :
    <threading>multi
#   <debug-symbols>on
    :
    release
    ;

install dist-bin
    :
    wave
    :
    <install-type>EXE
    <location>../../../dist/bin
    :
    release
    ;

install dist-lib
    :
    wave
    :
    <install-type>LIB
    <location>../../../dist/lib
    :
    release
    ;
