build.jam:Как вы условно добавляете файл в исходники в boost.build?
project : usage-requirements <include>. ;
alias PUB : : : : <use>/ProjectA//PUB
<use>/ProjectB//PUB ;
lib LIB : [ glob *.c : feature.c ]
: <link>static
<use>/ProjectA//PUB
<use>/ProjectB//PUB ;
Я хотел бы добавить цель, которая будет добавлять feature.c к источникам и определения USE_FEATURE. Я пробовал несколько разных вещей, но никто не работает так, как я хочу.
alias LIB_WITH_FEAT : LIB feature.c : <define>USE_FEATURE ;
alias LIB_WITH_FEAT : LIB : <source>feature.c <define>USE_FEATURE ;
не добавляет функции feature.c или USE_FEATURE в сборку. Но не дает никаких ошибок или предупреждений. Он просто строит LIB.
lib LIB_WITH_FEAT : feature.c LIB : <define>USE_FEATURE ;
дает «предупреждение: невозможно построить LIB_WITH_FEAT». Хотя, если это сработало, я не думаю, что это было бы то, что я хотел, поскольку он попытался бы построить LIB отдельно, а LIB нуждается в правильной работе USE_FEATURE с функцией feature.c.
Ваш вопрос ужасно неясен .. Что вы хотите добавить feature.c в? – GrafikRobot
Извините, вы можете создать целевую LIB для создания библиотеки, но из некоторых проектов я хочу построить библиотеку с помощью функции X. Реализация Feature X находится в feature.c, а вызовы в основной библиотеке завернуты с помощью защитных устройств USE_FEATURE. Я хотел бы добавить цель, которая будет строить библиотеку, такую как цель LIB, а также включить файл feature.c в источники и определить USE_FEATURE. –
Получает ли мой ответ ниже то, что вы хотите? – GrafikRobot