2014-03-04 5 views
2

서브 프로젝트 용 bjam 파일을 만들었습니다. 이 하위 프로젝트에는 일부 원본 및 헤더가 포함되어 있습니다. 빌드 결과는 정적 라이브러리입니다. 다른 프로젝트에서이 하위 프로젝트를 사용하고 싶습니다. 하위 프로젝트 헤더에 대한 경로를 명시 적으로 지정하지 않아도되는 방법이 있습니까? 예를 들어하위 프로젝트의 include-path를 주 프로젝트에 추가하는 것을 강제로 밀어 올릴 수 있습니까?

:

# 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 파일은 원래의 jam 파일과 비슷합니다. 그리고이 파일들은 저에게 효과적입니다.

P. 문서에서 사용 요구 사항 속성을 발견했지만 제대로 작동 할 수있는 방법을 찾지 못했습니다. 나는 상상할 수있는 모든 변종을 시도했다. 나를 위해

답변

1

하위 프로젝트 Jamfile

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

프로젝트 Jamfile

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

작품.