mirror of
https://github.com/boostorg/boost.git
synced 2026-01-18 21:41:27 +01:00
fix using subproject features (#972)
This commit is contained in:
committed by
Peter Dimov
parent
18c9bb0d0d
commit
da4fb7264c
22
Jamroot
22
Jamroot
@@ -433,17 +433,18 @@ rule boost-library ( id ? : options * : * )
|
||||
#
|
||||
# NOTE: This has to be after the boost-* rule definitions to ensure that those
|
||||
# are available for import into the new projects.
|
||||
local location = [ project.attribute $(__name__) location ] ;
|
||||
for local lib in $(all-libraries-to-declare)
|
||||
{
|
||||
local lib-path
|
||||
= [ path.join [ project.attribute $(__name__) location ] libs $(lib) ] ;
|
||||
= [ path.join $(location) libs $(lib) ] ;
|
||||
if $(lib) = numeric_conversion
|
||||
{
|
||||
lib-path = [ path.join [ project.attribute $(__name__) location ] libs/numeric/conversion ] ;
|
||||
lib-path = [ path.join $(location) libs/numeric/conversion ] ;
|
||||
}
|
||||
else if $(lib) in interval odeint ublas
|
||||
{
|
||||
lib-path = [ path.join [ project.attribute $(__name__) location ] libs/numeric/$(lib) ] ;
|
||||
lib-path = [ path.join $(location) libs/numeric/$(lib) ] ;
|
||||
}
|
||||
local lib-module
|
||||
= [ project.load $(lib-path) : synthesize ] ;
|
||||
@@ -467,3 +468,18 @@ if ! [ project.search /boost/tools/boost\_install ]
|
||||
{
|
||||
use-project /boost/tools/boost\_install : tools/boost\_install ;
|
||||
}
|
||||
|
||||
# Ensure "modular" libraries' projects are loaded before build request is
|
||||
# calculated. This is necessary for subprojects that define custom features
|
||||
# to be set by users on command line.
|
||||
# This part should stay at the bottom of the file, because subprojects may rely
|
||||
# on rules or constants from it.
|
||||
for local l in $(all-libraries-modular-build)
|
||||
{
|
||||
# project.find returns the module for the project, which ensures that the
|
||||
# project is loaded. The convoluted way the rule is invoked is due to the
|
||||
# fact that project.find can only be called from a project target instance.
|
||||
modules.call-in [ project.target $(__name__) ]
|
||||
: project.find /boost/$(l)
|
||||
: $(location) ;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user