diff options
| author | Mohsin Kaleem <mohkale@kisara.moe> | 2023-04-22 11:41:37 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-04-22 11:41:37 +0100 |
| commit | 568862dc844217a2eb1fec763d4f70f9db59555a (patch) | |
| tree | 9567a5d8299d6f2eadf08336312e8918c6cd3556 /test/formatters/samplecode/cmake-format | |
| parent | 5cb7156ef5d5e09d1a5c9a8dd157a62566f6aece (diff) | |
Add cmake-format formatter (#172)
Diffstat (limited to 'test/formatters/samplecode/cmake-format')
| -rw-r--r-- | test/formatters/samplecode/cmake-format/in.cmake | 97 | ||||
| -rw-r--r-- | test/formatters/samplecode/cmake-format/out.cmake | 113 |
2 files changed, 210 insertions, 0 deletions
diff --git a/test/formatters/samplecode/cmake-format/in.cmake b/test/formatters/samplecode/cmake-format/in.cmake new file mode 100644 index 0000000..4335468 --- /dev/null +++ b/test/formatters/samplecode/cmake-format/in.cmake @@ -0,0 +1,97 @@ +# The following multiple newlines should be collapsed into a single newline + + + + +cmake_minimum_required(VERSION 2.8.11) +project(cmakelang_test) + +# This multiline-comment should be reflowed +# into a single comment +# on one line + +# This comment should remain right before the command call. +# Furthermore, the command call should be formatted +# to a single line. +add_subdirectories(foo bar baz + foo2 bar2 baz2) + +# This very long command should be wrapped +set(HEADERS very_long_header_name_a.h very_long_header_name_b.h very_long_header_name_c.h) + +# This command should be split into one line per entry because it has a long argument list. +set(SOURCES source_a.cc source_b.cc source_d.cc source_e.cc source_f.cc source_g.cc source_h.cc) + +# The string in this command should not be split +set_target_properties(foo bar baz PROPERTIES COMPILE_FLAGS "-std=c++11 -Wall -Wextra") + +# This command has a very long argument and can't be aligned with the command +# end, so it should be moved to a new line with block indent + 1. +some_long_command_name("Some very long argument that really needs to be on the next line.") + +# This situation is similar but the argument to a KWARG needs to be on a +# newline instead. +set(CMAKE_CXX_FLAGS "-std=c++11 -Wall -Wno-sign-compare -Wno-unused-parameter -xx") + +set(HEADERS header_a.h header_b.h # This comment should + # be preserved, moreover it should be split + # across two lines. + header_c.h header_d.h) + + +# This part of the comment should +# be formatted +# but... +# cmake-format: off +# This bunny should remain untouched: +# . _ ∩ +# レヘヽ| | +# (・x・) +# c( uu} +# cmake-format: on +# while this part should +# be formatted again + +# This is a paragraph +# +# This is a second paragraph +# +# This is a third paragraph + +# This is a comment +# that should be joined + +if(foo) +if(sbar) +# This comment is in-scope. +add_library(foo_bar_baz foo.cc bar.cc # this is a comment for arg2 + # this is more comment for arg2, it should be joined with the first. + baz.cc) # This comment is part of add_library + +other_command(some_long_argument some_long_argument) # this comment is very long and gets split across some lines + +other_command(some_long_argument some_long_argument some_long_argument) # this comment is even longer and wouldn't make sense to pack at the end of the command so it gets it's own lines +endif() +endif() + + +# This very long command should be broken up along keyword arguments +foo(nonkwarg_a nonkwarg_b HEADERS a.h b.h c.h d.h e.h f.h SOURCES a.cc b.cc d.cc DEPENDS foo bar baz) + +# This command uses a string with escaped quote chars +foo(some_arg some_arg "This is a \"string\" within a string") + +# This command uses an empty string +foo(some_arg some_arg "") + +# This command uses a multiline string +foo(some_arg some_arg " + This string is on multiple lines +") + +# No, I really want this to look ugly +# cmake-format: off +add_library(a b.cc + c.cc d.cc + e.cc) +# cmake-format: on diff --git a/test/formatters/samplecode/cmake-format/out.cmake b/test/formatters/samplecode/cmake-format/out.cmake new file mode 100644 index 0000000..7c1c352 --- /dev/null +++ b/test/formatters/samplecode/cmake-format/out.cmake @@ -0,0 +1,113 @@ +# The following multiple newlines should be collapsed into a single newline + +cmake_minimum_required(VERSION 2.8.11) +project(cmakelang_test) + +# This multiline-comment should be reflowed into a single comment on one line + +# This comment should remain right before the command call. Furthermore, the +# command call should be formatted to a single line. +add_subdirectories(foo bar baz foo2 bar2 baz2) + +# This very long command should be wrapped +set(HEADERS very_long_header_name_a.h very_long_header_name_b.h + very_long_header_name_c.h) + +# This command should be split into one line per entry because it has a long +# argument list. +set(SOURCES + source_a.cc + source_b.cc + source_d.cc + source_e.cc + source_f.cc + source_g.cc + source_h.cc) + +# The string in this command should not be split +set_target_properties(foo bar baz PROPERTIES COMPILE_FLAGS + "-std=c++11 -Wall -Wextra") + +# This command has a very long argument and can't be aligned with the command +# end, so it should be moved to a new line with block indent + 1. +some_long_command_name( + "Some very long argument that really needs to be on the next line.") + +# This situation is similar but the argument to a KWARG needs to be on a newline +# instead. +set(CMAKE_CXX_FLAGS + "-std=c++11 -Wall -Wno-sign-compare -Wno-unused-parameter -xx") + +set(HEADERS + header_a.h header_b.h # This comment should be preserved, moreover it should + # be split across two lines. + header_c.h header_d.h) + +# This part of the comment should be formatted but... +# cmake-format: off +# This bunny should remain untouched: +# . _ ∩ +# レヘヽ| | +# (・x・) +# c( uu} +# cmake-format: on +# while this part should be formatted again + +# This is a paragraph +# +# This is a second paragraph +# +# This is a third paragraph + +# This is a comment that should be joined + +if(foo) + if(sbar) + # This comment is in-scope. + add_library( + foo_bar_baz + foo.cc bar.cc # this is a comment for arg2 this is more comment for arg2, + # it should be joined with the first. + baz.cc) # This comment is part of add_library + + other_command( + some_long_argument some_long_argument) # this comment is very long and + # gets split across some lines + + other_command( + some_long_argument some_long_argument some_long_argument) # this comment + # is even longer + # and wouldn't + # make sense to + # pack at the + # end of the + # command so it + # gets it's own + # lines + endif() +endif() + +# This very long command should be broken up along keyword arguments +foo(nonkwarg_a nonkwarg_b + HEADERS a.h b.h c.h d.h e.h f.h + SOURCES a.cc b.cc d.cc + DEPENDS foo + bar baz) + +# This command uses a string with escaped quote chars +foo(some_arg some_arg "This is a \"string\" within a string") + +# This command uses an empty string +foo(some_arg some_arg "") + +# This command uses a multiline string +foo(some_arg some_arg " + This string is on multiple lines +") + +# No, I really want this to look ugly +# cmake-format: off +add_library(a b.cc + c.cc d.cc + e.cc) +# cmake-format: on |
