мне наверное хочется странного, потмоу что ответа на свои вопросы в документации буста я не нашел, так что помогите люди добрае
Итак, задача: хочется сконфигурировать некоторые фичи в проекте так, чтобы девелопер мог включать-выключать их на своей машине для своего билда. Например Jamfile:
project megadaemon : requirements
<define>FEATURE1_ENABLED=1
<define>FEATURE2_ENABLED=1
<define>FEATURE3_ENABLED=1
хочется сделать чтобы девелопер у себя на машине мог сделать например Jamfile.override где скажет:
alias megademon : : : : <define>FEATURE2_ENABLED=0
и может просто нажатием bjam пересобрать проект в нужной конфигурации. Основная хотелка одна: чтобы не надо было редактировать файлы, которые под сурс-контролем (т.е. чтобы у каждого девелопера был свой Jamfile.override).
Лучшее что мне придумалось пока выглядит примерно так:
import feature ;
feature.feature feature1_enabled : true false : ;
...
project megadaemon : requirements
<feature1_enabled>true:<define>FEATURE1_ENABLED=1
<feature1_enabled>false:<define>FEATURE1_ENABLED=0
...
и каждый девелопер делает себе алиас mybjam='bjam feature1_enabled=false' и т.п.
в общем, такое решение мне не нравится (надеюсь по понятным причинам), хочется чего-то умнее. Я в этом boost.build совсем новичок, так что если есть хорошие ссылки, пожалуйста давайте (хотя у меня самого по конкретному вопросу ничего не получилось накопать).
Спасибо!