2014-03-04 49 views
2

我爲一個子項目製作了bjam文件。該子項目包含一些源和標題。 建設的結果是一個靜態庫。我想從另一個項目中使用這個子項目。有沒有辦法避免明確指定子項目頭的路徑?是否可以強制boost-build將子項目的include路徑添加到主項目中?

例如:

# Jamfile for sub-library 
project sublib 
    : requirements <include>../headers/include 
    : source-location ../ ; 

lib sublib : [ glob src/*.cpp ] : <link>static ; 

我想提高建造從上面的自動添加「../headers/include」進入下一個果醬文件。但現在我需要明確地指定它

# Jamfile for my root project 
use-project /sublib : path_to_sublib/sublib-folder ; 

project rootproject 
: requirements <include>root_project_headers/ 
       <include>path_to_sublib/headers/include/ # explicit declaration 
       <library>//sublib 
       <define>_VARIADIC_MAX=10 
    : source-location ../../ ; 

exe root-executable : [ glob src/*.cpp ] ; 

這可能嗎?這些jam-files在我的原始文件中被簡化了。這些文件對我有用。

P.S.我在文檔中找到了usage-requirements屬性,但是我沒有找到使其工作的方法。我嘗試了所有我能想象到的變體。

回答

1

子項目的Jamfile

lib subproj 
    : subproj.cpp 
    : <include>. 
     <link>static 
    : 
    : <include>. 
    ; 

項目的Jamfile

exe proj 
    : <source files> 
     /subproj//subproj 
    ; 

爲我工作。

相關問題