是否有任何实用程序可以重新格式化cmake文件

isr3a4wc  于 2023-01-17  发布在  其他
关注(0)|答案(4)|浏览(174)

我有相对复杂的cmake文件,我想知道是否有任何实用程序,可以重新格式化cmakeList.txt和美化它更容易阅读?
一些简单的技巧就可以完成这项工作,比如缩进if else endif部分等等。
有没有这样的工具?
我正在使用记事本++进行编辑,但如果有其他工具,我可以切换。

cwtwac6a

cwtwac6a1#

最近有人写了一个叫做cmake_format的CMake自动格式化程序,虽然还在开发中,但是对于基本的CMake文件应该足够好了。

olhwl3o2

olhwl3o22#

我搜索了一个支持CMake的代码美化器,但没有找到。

  • CMake邮件列表上有this thread,它没有提供好的解决方案
  • This邮件列表线程也不提供答案(有些使用emacs模式)
  • 我检查了Ubuntu上使用UniversalIndentGUI的大多数主要代码美化器。long list提供的美化器都没有开箱即用的CMake。

看起来在一个现有的美化器中实现CMake支持,或者编写一个自定义的美化器对于一个好的代码项目来说是一个很好的想法。

vwoqyblh

vwoqyblh3#

看一看Atom及其插件language-cmake(可以使用Atom包管理器轻松安装)。
安装完这两个程序后,打开CMakeLists.txt并转到Edit > Lines > Auto Indent

7jmck4yq

7jmck4yq4#

如果从其他的答案和评论中还不清楚的话,在Ubuntu(Debian?)中有一个叫做cmake-format的工具,这似乎是其他答案中所说的cmake_format
对我来说效果很好。

$ apt search cmake-format
Sorting... Done
Full Text Search... Done
cmake-format/kinetic,kinetic,now 0.6.13-2 all [installed]
  source code formatter for cmake listfiles
$ cmake-format --help
usage: 
cmake-format [-h]
             [--dump-config {yaml,json,python} | -i | -o OUTFILE_PATH]
             [-c CONFIG_FILE]
             infilepath [infilepath ...]

Parse cmake listfiles and format them nicely.
...

规范文件很难理解,但我还是喜欢默认的格式。最好的部分是它似乎规范了关键字的大写,这是让我发疯的原因。

相关问题