C++ Conan,CMake.test()生成XML报告

C++ Conan,CMake.test()生成XML报告,c++,conan,C++,Conan,我目前正在将Conan.io(1.20.5版)引入我的项目 对于Cmake.test(),我丢失了以前直接调用ctest-T test生成的XML testreport 以下是conanfile.py build()的摘录: 评论: 1.)将参数定义到build()会破坏生成,因为这些参数似乎被转发到了_build(): 注意,Christian您希望将参数传递给ctest,但Conan调用cmake--build--目标测试而不是直接进行ctest,因此需要作为额外参数传递: def buil

我目前正在将Conan.io(1.20.5版)引入我的项目

对于Cmake.test(),我丢失了以前直接调用
ctest-T test
生成的XML testreport

以下是conanfile.py build()的摘录:

评论:

1.)将参数定义到build()会破坏生成,因为这些参数似乎被转发到了_build():


注意,Christian

您希望将参数传递给
ctest
,但Conan调用
cmake--build--目标测试
而不是直接进行
ctest
,因此需要作为额外参数传递:

def build(self):
    cmake = CMake(self)
    cmake.configure()
    cmake.build()
    cmake.test(args=['--', 'ARGS=-T Test'])
这将产生以下命令:

> cmake --build '/tmp/foo/test_package/build/878b1b6e2d4cbc82452d014e37c38868584457e8' '--target' 'test' 'ARGS=-T Test' '--' '-j4'
现在您将获得XML文件结果


问候

嗯。我在执行时收到
ConanExeption:错误1生成的cmake调用看起来像您的示例tho。您可以添加有关错误的详细信息吗?柯南版本,命令行,配方,日志。。。我的示例非常适用于常规往复。建议的解决方案仅适用于linux,但在Windows
MSBUILD:error MSB1008:只能指定一个项目时出错。开关:ARGS=-T测试
。是否有Windows替代方案?是否尝试使用引号传递<代码>参数=“-T测试”
> cmake --build '/tmp/foo/test_package/build/878b1b6e2d4cbc82452d014e37c38868584457e8' '--target' 'test' 'ARGS=-T Test' '--' '-j4'