冗长的CMake:如何获取更多诊断信息?

7

我从cmake中得到了一些奇怪的错误:

loading initial cache file ../../Tweaks/compiler-rt/arm.txt
-- Performing Test COMPILER_RT_HAS_FPIE_FLAG
CMake Error at CMakeLists.txt:2 (set):
  Syntax error in cmake code at

    D:/Work/AcSo/Views/llvmSecond/build-arm/compiler-rt/CMakeFiles/CMakeTmp/CMakeLists.txt:2

  when parsing string

    D:/Work/AcSo/Views/llvmSecond/llvm/projects/compiler-rt/cmake;D:/Work/AcSo/Views/llvmSecond/llvm/projects/compiler-rt/cmake/Modules;D:/Work/AcSo/Views/llvmSecond/llvm/cmake;D:\Work\AcSo\Views\llvmSecond\build-host\Release\lib\cmake\llvm

  Invalid character escape '\W'.


CMake Error: Internal CMake error, TryCompile configure of cmake failed
-- Configuring incomplete, errors occurred!
See also "D:/Work/AcSo/Views/llvmSecond/build-arm/compiler-rt/CMakeFiles/CMakeOutput.log".

我能理解的是它以某种方式获取了一个Windows路径,然后抱怨\W字符序列。实际上,我已经尽力提供了cmake Linux路径,所以我不知道Windows路径来自何处。在CMakeOutput.log中,似乎没有任何必要为此错误做出响应。
我想从cmake获得更多诊断信息,即它执行的内容和原因,但搜索"cmake verbose"只会返回有关使make verbose的结果,而不是cmake本身。
是否有一种方法可以强制cmake详细输出/获得更多诊断/调试或跟踪输出?或者如果您可以告诉我特定情况下的问题,那也将不胜感激。

这也许会有帮助:https://dev59.com/BmEh5IYBdhLWcg3wHAND - usr1234567
1个回答

7
在这种特定情况下,与评论中链接的问题有关的cmake标志--trace--debug-output并不像--debug-trycompile标志那么有用,后者保留了CMakeFiles/CMakeTmp/CMakeLists.txt等文件(因此它们不会在cmake失败时被删除)。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接