使用cmake将compare_files与不同的行结尾相对应

jlc*_*lin 3 line-endings cmake

cmake用来比较这样的两个文件:

cmake -E compare_files file1 file2
Run Code Online (Sandbox Code Playgroud)

麻烦的是,file1file2有不同的行结束.我正在使用,cmake因为我已经将它用于我的构建; 上面的命令在我的测试中.

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

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

是否有一个我错过的旗帜或选项会忽略行结尾的差异?

Ant*_*nio 5

不幸的是,它似乎是一个不受支持的功能(问题在这里被"跟踪" ,看起来不会被处理).

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

configure_file(<input> <output> NEWLINE_STYLE CRLF)
Run Code Online (Sandbox Code Playgroud)

请注意,该选项COPYONLY与之不兼容NEWLINE_STYLE,因此您必须注意configure_file不要进行任何意外的变量替换.