Boost Build: использовать функцию или переменную

У меня есть тест интеграции с БД, который я использую в Boost Build. Тесту нужны некоторые аргументы командной строки (имя пользователя БД, пароль). Какой лучший способ установить это с помощью Boost Build способом, который настраивается пользователем (с помощью переменных среды, командной строки bjam, user-config.jam)?

Я знаю, что могу сделать это с переменными:

import os ;
local DB_PASS = [ os.environ DB_PASS ] ;
run dbtest : test.cpp : --dbpass $(DB_PASS) ;

Это может быть установлено через командную строку (bjam -s DB_PASS=pass) или через переменную окружения.

С другой стороны, Boost Build, как правило, выполняет большую часть своей конфигурации через механизм функций. Я мог бы, вероятно, определить новую функцию и таким образом получить данные конфигурации в нужном месте.

Каковы плюсы и минусы каждого подхода? Какой я должен взять? Если функции: как бы я это сделал?

NB. Фактический тест находится в Jamfile, который используется Jamroot, а не непосредственно в корневом файле.

0

Решение

Я бы просто использовал ваше предложение переменных. Они обеспечивают большую гибкость. Я не понимаю, как «особенность» в этом случае может помочь.

2

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


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