我目前正在将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
问候,基督徒
答案 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文件结果。
致谢!