2
0
mirror of https://github.com/boostorg/build.git synced 2026-02-01 20:32:17 +00:00

New 'project-root' attribute. Needed for --dump-tests.

[SVN r28106]
This commit is contained in:
Vladimir Prus
2005-04-11 12:35:11 +00:00
parent 9cb7cee292
commit 94379eb9cc

View File

@@ -378,6 +378,8 @@ rule initialize (
# Import rules common to all project modules from project-rules module,
# defined at the end of this file.
modules.clone-rules project-rules $(module-name) ;
local jamroot ;
local parent-module ;
if $(module-name) = site-config
@@ -399,6 +401,11 @@ rule initialize (
}
else
{
if $(location)
{
jamroot = true ;
}
parent-module = user-config ;
}
}
@@ -407,6 +414,11 @@ rule initialize (
{
inherit-attributes $(module-name) : $(parent-module) ;
}
if $(jamroot)
{
$(attributes).set project-root : $(location) : exact ;
}
local parent ;
if $(parent-module)
@@ -441,12 +453,15 @@ rule inherit-attributes ( project-module : parent-module )
$(attributes).set parent : [ path.parent
[ path.make [ modules.binding $(parent-module) ] ] ] ;
}
local v = [ $(pattributes).get project-root ] ;
$(attributes).set project-root : $(v) : exact ;
$(attributes).set default-build
: [ $(pattributes).get default-build ] ;
$(attributes).set requirements
: [ $(pattributes).get requirements ] : exact ;
$(attributes).set usage-requirements
: [ $(pattributes).get usage-requirements ] : exact ;
local parent-build-dir = [ $(pattributes).get build-dir ] ;
if $(parent-build-dir)
{
@@ -568,7 +583,7 @@ class project-attributes
self.build-dir = [ path.root $(specification) $(self.location) ] ;
}
else if ! $(attribute) in "id" "default-build" "location" "source-location"
"parent" "projects-to-build"
"parent" "projects-to-build" "project-root"
{
errors.error "Invalid project attribute '$(attribute)' specified "
"for project at '$(self.location)'" ;