我正在使用cmake
来比较两个这样的文件:
cmake -E compare_files file1 file2
问题是file1
和file2
有不同的行结尾。我正在使用cmake
,因为我已经将它用于我的构建;上面的命令在我的测试中。
此时我不需要任何特别的东西。只是一种告诉用户文件不同的方法。 (希望没有差异。)如果存在差异,我会在此时报告并进行更仔细的手动检查。
如果有一种方便的报告方式(例如,打印到屏幕或写入文件),那么我愿意接受如何实现这一点的建议。但我真的只是想知道是否存在差异,不同的行结尾是不重要的。
是否有一个我错过的旗帜或选项会忽略行结尾的差异?
不幸的是,它似乎是一个unsupported feature(问题是“跟踪”here,看起来不会被处理)。
但是有一个解决方法:在开始比较之前,您可以使用configure_file创建具有统一行结尾的文件的副本。例如:
configure_file(<input> <output> NEWLINE_STYLE CRLF)
请注意,选项COPYONLY
与NEWLINE_STYLE
不兼容,因此您必须小心configure_file
不会进行任何意外的变量替换。
使用CMake 3.14,您现在可以:
cmake -E compare_files --ignore-eol file1 file2