From bb89ae939241f166521d74bc4159eaf45377fff3 Mon Sep 17 00:00:00 2001 From: Daniel Jasper Date: Wed, 11 Jul 2012 19:13:13 +0000 Subject: Add a hook to supply a custom CompilationDatabase. To add a custom CompilationDatabase, make it implement findCompilationDatabaseForDirectory in CustomCompilationDatabase.h and set USE_COSTUM_COMPILATION_DATABASE. Differential Revision: http://llvm-reviews.chandlerc.com/D4 llvm-svn: 160061 --- clang/lib/Tooling/CompilationDatabase.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'clang/lib/Tooling/CompilationDatabase.cpp') diff --git a/clang/lib/Tooling/CompilationDatabase.cpp b/clang/lib/Tooling/CompilationDatabase.cpp index a06343ddab6..d54a5e79ebd 100644 --- a/clang/lib/Tooling/CompilationDatabase.cpp +++ b/clang/lib/Tooling/CompilationDatabase.cpp @@ -18,6 +18,10 @@ #include "llvm/Support/Path.h" #include "llvm/Support/system_error.h" +#ifdef USE_CUSTOM_COMPILATION_DATABASE +#include "CustomCompilationDatabase.h" +#endif + namespace clang { namespace tooling { @@ -124,6 +128,11 @@ CompilationDatabase::loadFromDirectory(StringRef BuildDirectory, static CompilationDatabase * findCompilationDatabaseFromDirectory(StringRef Directory) { +#ifdef USE_CUSTOM_COMPILATION_DATABASE + if (CompilationDatabase *DB = + ::findCompilationDatabaseForDirectory(Directory)) + return DB; +#endif while (!Directory.empty()) { std::string LoadErrorMessage; -- cgit v1.2.3