boost构建中的多个构建目标

multiple build targets in boost build

本文关键字:构建 目标 boost      更新时间:2023-10-16

我希望我的单元测试Jamfile有两个不同的目标。

这是我目前的目录结构:

Jamroot
src/Jamfile
test/Jamfile

这是我的测试/Jamfile:

using testing ;
lib boost_unit_test_framework ;
run [ glob *.cpp ] boost_unit_test_framework 
    : --log_format=XML --log_sink=results.xml --log_level=all --report_level=no
    : 
    : <define>BOOST_TEST_DYN_LINK : test-xml ;
run [ glob *.cpp ] boost_unit_test_framework 
    : 
    : 
    : <define>BOOST_TEST_DYN_LINK : test ;

我希望能够在开发时运行b2 test,并让我的CI运行b2 test-xml为Jenkins生成单元测试报告。有了这个Jamfile,我只能在当前位于"test"子目录中的情况下执行,如果我尝试从Jamroot目录中b2 test-xml,它会显示

不知道如何制作测试xml

有什么想法吗?

我在Jamfile中添加了以下行:

显式测试xml;

现在b2测试只构建测试(因为test是子目录的名称。但我可以运行b2测试//测试xml来显式地只运行测试xml。