cmake - 使用 cmake 比较具有不同行尾的_files

标签 cmake line-endings

我正在使用 cmake 来比较两个文件,如下所示:

cmake -E compare_files file1 file2

问题是 file1file2 有不同的行尾。我正在使用 cmake 因为我已经在我的构建中使用了它;上面的命令正在我的测试中。

此时我不需要任何特别的东西。只是一种告诉用户文件不同的方法。 (希望没有差异。)如果存在差异,我将在此时报告并更仔细地手动检查。

如果有一种方便的报告方式(例如,打印到屏幕或写入文件),那么我愿意听取关于如何实现这一点的建议。但我真的只是想知道是否存在差异,不同的行尾是否不重要。

是否有我遗漏的标志或选项会忽略行尾的差异?

最佳答案

不幸的是,它似乎是一个 unsupported feature (问题已“跟踪”here,看起来永远不会被处理)。

但有一个解决方法:您可以使用 configure_file在开始比较之前创建具有统一行结尾的文件副本。例如:

configure_file(<input> <output> NEWLINE_STYLE CRLF)

请注意,COPYONLY 选项与 NEWLINE_STYLE 不兼容,因此您必须注意 configure_file 不会产生任何意外变量替换。

关于cmake - 使用 cmake 比较具有不同行尾的_files,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29306376/

相关文章:

curl - cmake无法通过协议(protocol)HTTPS下载,而自己的cmake选项程序

c++ - cmake os x 失败 ar 没有特定的存档成员

c++ - QtCreator 找不到cmake

windows - 在 Windows 上运行 Docker 脚本时如何替换 "\r"行结尾?

c - C 如何在不更改为 CR LF 的情况下将 LF 输出到标准输出?

cmake - (Linux) 无法通过 cmake 链接文件

windows - 将一堆文件从 Windows 复制到 ubuntu 服务器,现在所有文件都显示在 git 中已修改,并带有 ^M

windows - git - 强制 lf 行结尾不捕获二进制文件

git line endings - 不能存储,重置,现在不能 rebase over spurious line endings commit

Android Studio CMake - 共享库缺少 libc++_shared.so? CMake 可以 bundle 这个吗?