boost build: override default target
От: green.nsk  
Дата: 17.05.11 00:22
Оценка:
мне наверное хочется странного, потмоу что ответа на свои вопросы в документации буста я не нашел, так что помогите люди добрае

Итак, задача: хочется сконфигурировать некоторые фичи в проекте так, чтобы девелопер мог включать-выключать их на своей машине для своего билда. Например 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 совсем новичок, так что если есть хорошие ссылки, пожалуйста давайте (хотя у меня самого по конкретному вопросу ничего не получилось накопать).

Спасибо!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.