mirror of
https://github.com/boostorg/statechart.git
synced 2026-01-19 16:52:10 +00:00
* Make the library modular usable. * Switch to library requirements instead of source. As source puts extra source in install targets. * Add missing lib reference. * Add requires-b2 check to top-level build file. * Bump B2 require to 5.2 * Change all <source> references to <library>. * Move inter-lib dependencies to a project variable and into the build targets. * Update build deps. * Move project global include to target local include.
77 lines
3.1 KiB
Plaintext
77 lines
3.1 KiB
Plaintext
##############################################################################
|
|
# Copyright 2005-2006 Andreas Huber Doenni
|
|
# Distributed under the Boost Software License, Version 1.0. (See accompany-
|
|
# ing file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
|
##############################################################################
|
|
|
|
project libs/statechart/example
|
|
: requirements <library>/boost/statechart//boost_statechart ;
|
|
|
|
local custom = <define>CUSTOMIZE_MEMORY_MANAGEMENT ;
|
|
local native = <define>BOOST_STATECHART_USE_NATIVE_RTTI ;
|
|
|
|
rule independent-obj-build (
|
|
name : directory : cpp-sources + : requirements * )
|
|
{
|
|
local objs ;
|
|
|
|
for local cpp-source in $(cpp-sources)
|
|
{
|
|
obj $(name)$(cpp-source)
|
|
: $(directory)/$(cpp-source).cpp : $(requirements) ;
|
|
objs += $(name)$(cpp-source) ;
|
|
}
|
|
|
|
return $(objs) ;
|
|
}
|
|
|
|
rule statechart-st-example-build (
|
|
name : directory : cpp-sources + : requirements * )
|
|
{
|
|
exe $(name) : [ independent-obj-build $(name)
|
|
: $(directory) : $(cpp-sources)
|
|
# Some platforms have either problems with the automatic
|
|
# detection of the threading mode (e.g. vc-7_1 &
|
|
# gcc >= 3.4.0) or don't support single-threaded mode
|
|
# (e.g. vc-8_0). We therefore manually turn MT
|
|
# off here
|
|
: <threading>single <define>BOOST_DISABLE_THREADS $(requirements) ] ;
|
|
|
|
return $(name) ;
|
|
}
|
|
|
|
rule statechart-mt-example-build (
|
|
name : directory : cpp-sources + : requirements * )
|
|
{
|
|
exe $(name) : [ independent-obj-build $(name)
|
|
: $(directory) : $(cpp-sources)
|
|
: <threading>multi $(requirements) ]
|
|
/boost/thread//boost_thread ;
|
|
|
|
return $(name) ;
|
|
}
|
|
|
|
stage run
|
|
: [ statechart-st-example-build BitMachine : BitMachine : BitMachine ]
|
|
[ statechart-st-example-build Camera
|
|
: Camera : Camera Configuring Main Shooting ]
|
|
[ statechart-st-example-build Handcrafted : Handcrafted : Handcrafted ]
|
|
[ statechart-st-example-build KeyboardNormal : Keyboard : Keyboard ]
|
|
[ statechart-st-example-build KeyboardNative
|
|
: Keyboard : Keyboard : $(native) ]
|
|
[ statechart-st-example-build PingPongSingle
|
|
: PingPong : PingPong Player : $(custom) <library>/boost/pool//boost_pool ]
|
|
[ statechart-mt-example-build PingPongMulti1
|
|
: PingPong : PingPong Player : $(custom) <library>/boost/pool//boost_pool ]
|
|
[ statechart-mt-example-build PingPongMulti2
|
|
: PingPong : PingPong Player : $(custom) <define>USE_TWO_THREADS <library>/boost/pool//boost_pool ]
|
|
[ statechart-st-example-build StopWatch : StopWatch : StopWatch ]
|
|
[ statechart-st-example-build StopWatch2 : StopWatch : StopWatch2 ]
|
|
[ statechart-st-example-build PerformanceNormal
|
|
: Performance : Performance ]
|
|
[ statechart-st-example-build PerformanceCustom
|
|
: Performance : Performance : $(custom) <library>/boost/pool//boost_pool ]
|
|
[ statechart-st-example-build PerformanceNative
|
|
: Performance : Performance : $(native) ]
|
|
: <install-dependencies>on <install-type>EXE <install-type>SHARED_LIB ;
|