2017-02-08 4 views
0

에 영향을하고, 대부분의 경우 나는 단지 한 번에 몇 컴파일해야합니다QBS 종속 주체 항목은 내가 하위 프로젝트의 톤 일부 프로젝트가 가정 제품 목록

Project { 
    property stringList plugins: ["plugin3", "plugin4"] // this is set externally 
    references: plugins.map(function(p) { return "plugins/"+p+".qbs" }) 
} 

plugin3 가정하면 plugin1과에 따라 달라집니다 plugin2 :이 경우

Depends { name: "plugin1" } 
Depends { name: "plugin2" } 

, 나는 plugins 속성을 설정해야 할 것 같은 :

plugins: ["plugin1", "plugin2", "plugin3", "plugin4"] 

내가 피하고 싶습니다. 그래서, 문제는 : 서브 프로젝트 종속성을 프로젝트로 자동으로 추가하도록하는 방법이 있습니까 references?

p.s. 모든 하위 프로젝트를 제시 할 수있는 또 다른 방법이 있지만 조건부로는 사용할 수 없습니다. 종속 하위 프로젝트에서 어떻게 든 활성화 할 수 있습니까?

답변

0

references 정적 목록이어야합니다. 한 번에 제품의 특정 하위 집합 만 컴파일하려는 경우에만 조건부로 만들 필요가 없습니다.

대신에 빌드 할 특정 제품의 이름을 지정할 수있는 -p 옵션을 사용하여 qbs를 실행하면됩니다. 이 옵션을 사용하면 해당 제품과 해당 종속성 만 빌드되지만 프로젝트의 나머지 제품은 빌드하지 않습니다.

+0

'-p'에 전달 된 제품을 프로젝트 파일이나 설정 프로젝트 속성에서 설정할 수 있습니까? –

+0

아니요, 그렇게하고 싶은 이유가 없습니다. 그러나'qbs build'를 실행할 때 특정 제품이 기본적으로 빌드되지 않도록하려는 경우 해당 제품의'builtByDefault' 속성을'false'로 설정할 수 있습니다. –

+0

QtCreator에서 작업 할 때는 이유가 있습니다. 기본적으로'qbs'를 수동으로 실행하는 것보다 위에서 언급 한 방식으로 설정하는 것이 더 쉽습니다. –