mirror of
https://github.com/boostorg/build.git
synced 2026-02-15 00:52:16 +00:00
New main target class 'message'.
[SVN r49006]
This commit is contained in:
@@ -27,6 +27,7 @@ import type ;
|
||||
import types/register ;
|
||||
import utility ;
|
||||
import virtual-target ;
|
||||
import message ;
|
||||
|
||||
# FIXME: the following generate module import is not needed here but removing it
|
||||
# too hastly will break using code (e.g. the main Boost library Jamroot file)
|
||||
|
||||
55
v2/tools/message.jam
Normal file
55
v2/tools/message.jam
Normal file
@@ -0,0 +1,55 @@
|
||||
# Copyright 2008 Vladimir Prus
|
||||
# Distributed under the Boost Software License, Version 1.0.
|
||||
# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
|
||||
|
||||
# Defines main target type 'message', that prints a message when built for the
|
||||
# first time.
|
||||
|
||||
import project ;
|
||||
import "class" : new ;
|
||||
import targets ;
|
||||
import property-set ;
|
||||
|
||||
class message-target-class : basic-target
|
||||
{
|
||||
rule __init__ ( name-and-dir : project : * )
|
||||
{
|
||||
basic-target.__init__ $(name-and-dir) : $(project) ;
|
||||
self.3 = $(3) ;
|
||||
self.4 = $(4) ;
|
||||
self.5 = $(5) ;
|
||||
self.6 = $(6) ;
|
||||
self.7 = $(7) ;
|
||||
self.8 = $(8) ;
|
||||
self.9 = $(9) ;
|
||||
self.built = ;
|
||||
}
|
||||
|
||||
rule construct ( name : source-targets * : property-set )
|
||||
{
|
||||
if ! $(self.built)
|
||||
{
|
||||
for i in 3 4 5 6 7 8 9
|
||||
{
|
||||
if $(self.$(i))
|
||||
{
|
||||
ECHO $(self.$(i)) ;
|
||||
}
|
||||
}
|
||||
self.built = 1 ;
|
||||
}
|
||||
|
||||
return [ property-set.empty ] ;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
rule message ( name : * )
|
||||
{
|
||||
local project = [ project.current ] ;
|
||||
|
||||
targets.main-target-alternative
|
||||
[ new message-target-class $(name) : $(project)
|
||||
: $(2) : $(3) : $(4) : $(5) : $(6) : $(7) ] ;
|
||||
}
|
||||
IMPORT $(__name__) : message : : message ;
|
||||
Reference in New Issue
Block a user