我有一个正在使用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倾向于通过功能机制进行大部分配置。我可能会定义一个新功能,并以这种方式将配置数据保存到正确的位置。
每种方法的优缺点是什么?我应该选哪一个?如果功能:我该怎么做?
注意:实际测试在Jamroot使用的Jamfile中,因此不能直接在根文件中。
最佳答案
我只是用你对变量的建议。它们提供了很大的灵活性。我看不出这种情况下的“功能”如何帮助事情。
关于c++ - boost 构建:使用功能或变量,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32299099/