Я сделал файл BJAM для подпроекта. Этот подпроект содержит несколько источников и заголовков.
Результатом построения является статическая библиотека. Я хочу использовать этот подпроект из другого проекта. Есть ли способ избежать указания пути к заголовкам подпроекта явно?
Например:
# Jamfile for sub-library
project sublib
: requirements <include>../headers/include
: source-location ../ ;
lib sublib : [ glob src/*.cpp ] : <link>static ;
Я хочу, чтобы boost-build автоматически добавил «../headers/include» из вышеперечисленного в следующий jam-файл. Но сейчас мне нужно указать это явно
# 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 ] ;
Является ли это возможным? Эти джем-файлы здесь упрощены от моих оригинальных. И эти файлы работают для меня.
Постскриптум Я нашел свойство требований использования в документации, но не нашел способа заставить его работать. Я перепробовал все возможные варианты.
Подпроект Jamfile
lib subproj
: subproj.cpp
: <include>.
<link>static
:
: <include>.
;
Проект Jamfile
exe proj
: <source files>
/subproj//subproj
;
работает для меня.
Других решений пока нет …