brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.7 KiB · 50c0683 Raw
89 lines · plain
1set(LLVM_LINK_COMPONENTS support)2 3add_clang_library(clangFormat4  AffectedRangeManager.cpp5  BreakableToken.cpp6  ContinuationIndenter.cpp7  DefinitionBlockSeparator.cpp8  Format.cpp9  FormatToken.cpp10  FormatTokenLexer.cpp11  IntegerLiteralSeparatorFixer.cpp12  MacroCallReconstructor.cpp13  MacroExpander.cpp14  MatchFilePath.cpp15  NamespaceEndCommentsFixer.cpp16  NumericLiteralCaseFixer.cpp17  NumericLiteralInfo.cpp18  ObjCPropertyAttributeOrderFixer.cpp19  QualifierAlignmentFixer.cpp20  SortJavaScriptImports.cpp21  TokenAnalyzer.cpp22  TokenAnnotator.cpp23  UnwrappedLineFormatter.cpp24  UnwrappedLineParser.cpp25  UsingDeclarationsSorter.cpp26  WhitespaceManager.cpp27 28  LINK_LIBS29  clangBasic30  clangLex31  clangToolingCore32  clangToolingInclusions33  )34 35file(GLOB_RECURSE files36  *.cpp37  *.h38  ${CLANG_SOURCE_DIR}/include/clang/Format/*.h39  ${CLANG_SOURCE_DIR}/tools/clang-format/*.cpp40  ${CLANG_SOURCE_DIR}/unittests/Format/*.cpp41  ${CLANG_SOURCE_DIR}/unittests/Format/*.h42  )43 44set(check_format_depends)45set(i 0)46foreach(file IN LISTS files)47  add_custom_command(OUTPUT check_format_depend_${i}48    COMMAND clang-format ${file} | diff -u ${file} -49    VERBATIM50    COMMENT "Checking format of ${file}"51    )52  list(APPEND check_format_depends check_format_depend_${i})53  math(EXPR i ${i}+1)54endforeach()55add_custom_target(clang-format-check-format DEPENDS ${check_format_depends})56 57set(docs_tools_dir ${CLANG_SOURCE_DIR}/docs/tools)58 59set(format_style_depend ${CMAKE_CURRENT_BINARY_DIR}/format_style_depend)60set(dump_style dump_format_style.py)61set(style_options_rst ${CLANG_SOURCE_DIR}/docs/ClangFormatStyleOptions.rst)62add_custom_command(OUTPUT ${format_style_depend}63  COMMAND ${Python3_EXECUTABLE} ${dump_style} && touch ${format_style_depend}64  WORKING_DIRECTORY ${docs_tools_dir}65  VERBATIM66  COMMENT "Updating ${style_options_rst}"67  DEPENDS ${CLANG_SOURCE_DIR}/include/clang/Format/Format.h68          ${CLANG_SOURCE_DIR}/include/clang/Tooling/Inclusions/IncludeStyle.h69          ${style_options_rst}70          ${docs_tools_dir}/plurals.txt71          ${docs_tools_dir}/${dump_style}72  )73add_custom_target(clang-format-style DEPENDS ${format_style_depend})74 75set(format_help_depend ${CMAKE_CURRENT_BINARY_DIR}/format_help_depend)76set(dump_help dump_format_help.py)77set(clang_format_rst ${CLANG_SOURCE_DIR}/docs/ClangFormat.rst)78add_custom_command(OUTPUT ${format_help_depend}79  COMMAND ${Python3_EXECUTABLE} ${dump_help} -d ${CMAKE_BINARY_DIR}/bin &&80          touch ${format_help_depend}81  WORKING_DIRECTORY ${docs_tools_dir}82  VERBATIM83  COMMENT "Updating ${clang_format_rst}"84  DEPENDS clang-format85          ${clang_format_rst}86          ${docs_tools_dir}/${dump_help}87  )88add_custom_target(clang-format-help DEPENDS ${format_help_depend})89