From b8859f6791fb4ca16c0cb3d76bc92fbe7018cac4 Mon Sep 17 00:00:00 2001 From: Jordan Rose <jordan_rose@apple.com> Date: Wed, 3 Jul 2013 16:20:29 +0000 Subject: [PATCH] With CLANG_ENABLE_STATIC_ANALYZER=0, link clang properly and skip clang-check. Previously, the CMake build still tried to link clang against the static analyzer libraries, even if CLANG_ENABLE_STATIC_ANALYZER was off. Furthermore, clang-check depends on the analyzer, so it should be disabled (in both CMake and configure builds). In theory, clang-check could be made to conditionally include analyzer support (like clang itself), but for now this at least gets a CMake ALL_BUILD working. Patch by Stephen Kelly, modified by me. llvm-svn: 185548 --- clang/lib/FrontendTool/CMakeLists.txt | 11 ++++++++--- clang/tools/CMakeLists.txt | 4 +++- clang/tools/Makefile | 6 +++++- 3 files changed, 16 insertions(+), 5 deletions(-) diff --git a/clang/lib/FrontendTool/CMakeLists.txt b/clang/lib/FrontendTool/CMakeLists.txt index 176511b0e4c8..3e6aba441ed1 100644 --- a/clang/lib/FrontendTool/CMakeLists.txt +++ b/clang/lib/FrontendTool/CMakeLists.txt @@ -14,8 +14,13 @@ target_link_libraries(clangFrontendTool clangRewriteCore clangRewriteFrontend clangCodeGen - clangStaticAnalyzerFrontend - clangStaticAnalyzerCheckers - clangStaticAnalyzerCore clangARCMigrate ) + +if(CLANG_ENABLE_STATIC_ANALYZER) + target_link_libraries(clangFrontendTool + clangStaticAnalyzerFrontend + clangStaticAnalyzerCheckers + clangStaticAnalyzerCore + ) +endif() diff --git a/clang/tools/CMakeLists.txt b/clang/tools/CMakeLists.txt index eb5e366cfd71..13f4666297a9 100644 --- a/clang/tools/CMakeLists.txt +++ b/clang/tools/CMakeLists.txt @@ -4,7 +4,9 @@ add_subdirectory(arcmt-test) add_subdirectory(c-arcmt-test) add_subdirectory(diagtool) add_subdirectory(driver) -add_subdirectory(clang-check) +if(CLANG_ENABLE_STATIC_ANALYZER) + add_subdirectory(clang-check) +endif() add_subdirectory(clang-format) # We support checking out the clang-tools-extra repository into the 'extra' diff --git a/clang/tools/Makefile b/clang/tools/Makefile index c8bc583c2fd3..902e6736d7d7 100644 --- a/clang/tools/Makefile +++ b/clang/tools/Makefile @@ -12,7 +12,11 @@ CLANG_LEVEL := .. include $(CLANG_LEVEL)/../../Makefile.config DIRS := libclang c-index-test arcmt-test c-arcmt-test -PARALLEL_DIRS := driver diagtool clang-check clang-format +PARALLEL_DIRS := driver diagtool clang-format + +ifeq ($(ENABLE_CLANG_STATIC_ANALYZER),1) + PARALLEL_DIRS += clang-check +endif # Recurse into the extra repository of tools if present. OPTIONAL_PARALLEL_DIRS := extra