柯南,CMake.test()生成XML报告

时间:2020-01-09 08:49:21

标签: c++ conan

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

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

这是conanfile.py build()摘录:

def build(self):
  cmake = CMake(self)
  cmake.configure()
  cmake.build()
  cmake.test() 

评论:

1。)将args定义到build()会破坏构建,因为这些args似乎已转发到_build():https://github.com/conan-io/conan/blob/812c8ec8185e24b2bc41fb6e855d35c925526670/conans/client/build/cmake.py#L276

问候,基督徒

1 个答案:

答案 0 :(得分:5)

您想将参数传递给ctest,但是柯南调用cmake --build . --target test而不是直接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文件结果。

致谢!