# Copyright AllSeen Alliance. All rights reserved.
#
#    Permission to use, copy, modify, and/or distribute this software for any
#    purpose with or without fee is hereby granted, provided that the above
#    copyright notice and this permission notice appear in all copies.
#
#    THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
#    WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
#    MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
#    ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
#    WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
#    ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
#    OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
# 
Import('env')
clientDistDir = '$CPP_DISTDIR/samples/basic'

# Sample Programs
progs = [
    env.Program('basic_service',  ['basic_service.cc']),
    env.Program('basic_client',   ['basic_client.cc']),
    env.Program('signal_service', ['signal_service.cc']),
    env.Program('nameChange_client', ['nameChange_client.cc']),
    env.Program('signalConsumer_client', ['signalConsumer_client.cc']),
    ]

if env['OS'] in ['linux', 'darwin']:
    env.Install('$CPP_DISTDIR/bin/samples', progs )
    env.Install(clientDistDir, env.Glob('*.cc'))
    env.Install(clientDistDir, 'Makefile')
    env.Install(clientDistDir, 'README.txt')

elif env['OS_GROUP'] == 'windows':
    env.Install('$CPP_DISTDIR/bin/samples', progs )
    env.Install(clientDistDir, env.Glob('*.cc'))
    env.InstallAs(clientDistDir + '/README.txt', 'README.windows.txt')
    #install Visual Studio solution files
    env.Install(clientDistDir+'/VC2008Win7', 'VC2008Win7/VC2008Win7.sln')
    env.Install(clientDistDir+'/VC2008Win7/basic_client', 'VC2008Win7/basic_client/basic_client.vcproj')
    env.Install(clientDistDir+'/VC2008Win7/basic_service', 'VC2008Win7/basic_service/basic_service.vcproj')
    env.Install(clientDistDir+'/VC2008Win7/nameChange_client', 'VC2008Win7/nameChange_client/nameChange_client.vcproj')
    env.Install(clientDistDir+'/VC2008Win7/signal_service', 'VC2008Win7/signal_service/signal_service.vcproj')
    env.Install(clientDistDir+'/VC2008Win7/signalConsumer_client', 'VC2008Win7/signalConsumer_client/signalConsumer_client.vcproj')
