Построение зависимости на основе make-файла в проекте boost-build (b2)

Я использую boost-build для сборки своего проекта, но я добавил библиотеку в качестве зависимости, которая создается с использованием GNU make. Если я собираю эту библиотеку вручную, я могу связать ее с моим проектом в Boost, используя этот простой Jamfile:

lib hts
:
: <link>static <file>lib/lib.a
:
: <include>lib_headers
;

Есть ли способ сообщить boost-build запустить make в каталоге, если lib/lib.a нет там?

1

Решение

С помощью списка рассылки Boost мы пришли вместе с этим решением. Сначала вы создаете действие для сборки библиотеки, используя make. Затем вы добавляете цель «make», чтобы научить boost-build создавать статическую библиотеку, используя только что созданное вами действие. Затем вы создаете псевдоним, от которого может зависеть boost-build, и он прекрасно сочетается с остальной частью Jamfile.

path-constant lib_dir : lib ;
actions external-make
{
cd $(lib_dir) && make
}
make lib.a : : @external-make : <location>lib_dir ;
alias hts
: lib.a
: <link>static
:
: <include>lib_headers
;

в вашей сборке вы можете использовать «hts» в качестве цели для этой библиотеки.

1

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector