diff options
author | Alexander Kornienko <alexfh@google.com> | 2012-07-12 14:34:23 +0000 |
---|---|---|
committer | Alexander Kornienko <alexfh@google.com> | 2012-07-12 14:34:23 +0000 |
commit | 140d5130434582aa2712a67b48f7db9c0563b34c (patch) | |
tree | 94f5893aa33ba9e1522dac4d5be5e2a4b8142aec /tools/clang-check/ClangCheck.cpp | |
parent | f9aed96537a23c9e8852a8ba6429feb25a23dbc9 (diff) |
Updated -help message in clang-check.
Summary: Provide more information on usage in -help
Test Plan: ran once
Reviewers: klimek, chandlerc, djasper
Reviewed By: klimek
CC: cfe-commits
Differential Revision: http://llvm-reviews.chandlerc.com/D5
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@160132 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'tools/clang-check/ClangCheck.cpp')
-rw-r--r-- | tools/clang-check/ClangCheck.cpp | 55 |
1 files changed, 33 insertions, 22 deletions
diff --git a/tools/clang-check/ClangCheck.cpp b/tools/clang-check/ClangCheck.cpp index 8fcb26a4a4..36af01b2e8 100644 --- a/tools/clang-check/ClangCheck.cpp +++ b/tools/clang-check/ClangCheck.cpp @@ -10,28 +10,6 @@ // This file implements a clang-check tool that runs the // clang::SyntaxOnlyAction over a number of translation units. // -// Usage: -// clang-check [-p <cmake-output-dir>] <file1> <file2> ... -// -// Where <cmake-output-dir> is a CMake build directory in which a file named -// compile_commands.json exists (enable -DCMAKE_EXPORT_COMPILE_COMMANDS in -// CMake to get this output). If not provided, clang-check will search for this -// file in all of <file1>'s parent directories. -// -// <file1> ... specify the paths of files in the CMake source tree. This path -// is looked up in the compile command database. If the path of a file is -// absolute, it needs to point into CMake's source tree. If the path is -// relative, the current working directory needs to be in the CMake source -// tree and the file must be in a subdirectory of the current working -// directory. "./" prefixes in the relative files will be automatically -// removed, but the rest of a relative path must be a suffix of a path in -// the compile command line database. -// -// For example, to use clang-check on all files in a subtree of the source -// tree, use: -// -// /path/in/subtree $ find . -name '*.cpp'| xargs clang-check -// //===----------------------------------------------------------------------===// #include "llvm/Support/CommandLine.h" @@ -52,6 +30,39 @@ cl::list<std::string> SourcePaths( cl::desc("<source0> [... <sourceN>]"), cl::OneOrMore); +static cl::extrahelp MoreHelp( + "\n" + "<build-path> is used to read a compile command database.\n" + "\n" + "For example, it can be a CMake build directory in which a file named\n" + "compile_commands.json exists (use -DCMAKE_EXPORT_COMPILE_COMMANDS=ON\n" + "CMake option to get this output). When no build path is specified,\n" + "clang-check will attempt to locate it automatically using all parent\n" + "paths of the first input file.\n" + "\n" + "<source0> ... specify the paths of source files. These paths are looked\n" + "up in the compile command database. If the path of a file is absolute,\n" + "it needs to point into CMake's source tree. If the path is relative,\n" + "the current working directory needs to be in the CMake source tree and\n" + "the file must be in a subdirectory of the current working directory.\n" + "\"./\" prefixes in the relative files will be automatically removed,\n" + "but the rest of a relative path must be a suffix of a path in the\n" + "compile command database.\n" + "\n" + "For example, to use clang-check on all files in a subtree of the source\n" + "tree, use:\n" + "\n" + " find path/in/subtree -name '*.cpp'|xargs clang-check\n" + "\n" + "or using a specific build path:\n" + "\n" + " find path/in/subtree -name '*.cpp'|xargs clang-check -p build/path\n" + "\n" + "Note, that path/in/subtree and current directory should follow the\n" + "rules described above.\n" + "\n" +); + int main(int argc, const char **argv) { llvm::OwningPtr<CompilationDatabase> Compilations( FixedCompilationDatabase::loadFromCommandLine(argc, argv)); |