0
我有一个数据库集成测试,我正在运行使用增强构建。测试需要一些命令行参数(数据库用户名,密码)。用户可以通过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中,因此不直接在根文件中。
我同意迈克尔。当可能或合理地使用不同的值构建时,以及何时构建产品会不同,您会使用功能。调试或发布,共享或静态,gcc或clang,都是合理的功能。对于数据库密码,您可能不希望为不同密码设置不同的二进制文件集。 –