diff options
author | Nikolai Kosjar <nikolai.kosjar@qt.io> | 2018-04-17 08:57:16 +0200 |
---|---|---|
committer | Nikolai Kosjar <nikolai.kosjar@qt.io> | 2018-05-02 08:19:42 +0000 |
commit | 7f349701d3ea0c47be3a43e265699dddd3fd55cf (patch) | |
tree | d1be97d8033fe7c1d515141639adf3c355d61813 | |
parent | 96a2c7633cc020bef7ad38a57094dc1287f1aceb (diff) |
[Driver] Statically link tools into clang executable
This enables running tidy/clazy from the "clang" executable (driver) and
thus avoids separate extra invocations for the tools resulting in a
speed up.
Change-Id: Ib14314443d68ee3346198915d109b3594bdbc647
Reviewed-by: Ivan Donchevskii <ivan.donchevskii@qt.io>
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
-rw-r--r-- | tools/driver/CMakeLists.txt | 3 | ||||
-rw-r--r-- | tools/driver/driver.cpp | 15 |
2 files changed, 18 insertions, 0 deletions
diff --git a/tools/driver/CMakeLists.txt b/tools/driver/CMakeLists.txt index 22a498422a..19e0cf18a2 100644 --- a/tools/driver/CMakeLists.txt +++ b/tools/driver/CMakeLists.txt @@ -44,6 +44,9 @@ target_link_libraries(clang clangDriver clangFrontend clangFrontendTool + clangTidyPlugin + clangIncludeFixerPlugin + clazyPlugin ) if(WIN32 AND NOT CYGWIN) diff --git a/tools/driver/driver.cpp b/tools/driver/driver.cpp index fa757da953..a4c4bdd0a9 100644 --- a/tools/driver/driver.cpp +++ b/tools/driver/driver.cpp @@ -518,3 +518,18 @@ int main(int argc_, const char **argv_) { // failing command. return Res; } + +// This anchor is used to force the linker to link the clang-tidy plugin. +extern volatile int ClangTidyPluginAnchorSource; +static int LLVM_ATTRIBUTE_UNUSED ClangTidyPluginAnchorDestination = + ClangTidyPluginAnchorSource; + +// This anchor is used to force the linker to link the clang-include-fixer +// plugin. +extern volatile int ClangIncludeFixerPluginAnchorSource; +static int LLVM_ATTRIBUTE_UNUSED ClangIncludeFixerPluginAnchorDestination = + ClangIncludeFixerPluginAnchorSource; + +// This anchor is used to force the linker to link the clazy plugin. +extern volatile int ClazyPluginAnchorSource; +static int LLVM_ATTRIBUTE_UNUSED ClazyPluginAnchorDestination = ClazyPluginAnchorSource; |