]> granicus.if.org Git - clang/commitdiff
Turn CLANG_ENABLE_{ARCMT,REWRITER,STATIC_ANALYZER} into proper options so that
authorRoman Divacky <rdivacky@freebsd.org>
Wed, 29 May 2013 21:09:18 +0000 (21:09 +0000)
committerRoman Divacky <rdivacky@freebsd.org>
Wed, 29 May 2013 21:09:18 +0000 (21:09 +0000)
users can disable those. Just like in autoconf generated makefiles.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@182881 91177308-0d34-0410-b5e6-96231b3b80d8

CMakeLists.txt
lib/CMakeLists.txt
tools/driver/CMakeLists.txt
unittests/CMakeLists.txt

index 5d05a4cdb552ce10315dd3c23aef340d9eee5512..faecb0da07addaabb0aaf121299350e5f16eb54b 100644 (file)
@@ -264,8 +264,27 @@ install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/include/
 
 add_definitions( -D_GNU_SOURCE )
 
-# FIXME: They should be options.
-add_definitions(-DCLANG_ENABLE_ARCMT -DCLANG_ENABLE_REWRITER -DCLANG_ENABLE_STATIC_ANALYZER)
+option(CLANG_ENABLE_ARCMT "Enable ARCMT by default." ON)
+option(CLANG_ENABLE_REWRITER "Enable rewriter by default." ON)
+option(CLANG_ENABLE_STATIC_ANALYZER "Enable static analyzer by default." ON)
+
+if (NOT CLANG_ENABLE_REWRITER AND CLANG_ENABLE_ARCMT)
+  message(FATAL_ERROR "Cannot disable rewriter while enabling ARCMT")
+endif()
+
+if (NOT CLANG_ENABLE_REWRITER AND CLANG_ENABLE_STATIC_ANALYZER)
+  message(FATAL_ERROR "Cannot disable rewriter while enabling static analyzer")
+endif()
+
+if(CLANG_ENABLE_ARCMT)
+  add_definitions(-DCLANG_ENABLE_ARCMT)
+endif()
+if(CLANG_ENABLE_REWRITER)
+  add_definitions(-DCLANG_ENABLE_REWRITER)
+endif()
+if(CLANG_ENABLE_STATIC_ANALYZER)
+  add_definitions(-DCLANG_ENABLE_STATIC_ANALYZER)
+endif()
 
 # Clang version information
 set(CLANG_EXECUTABLE_VERSION
index 053320ced1d085e7e0459f6c1deb564847c2b420..a0645ca26fce6b44370a853438345cd090b4e26f 100644 (file)
@@ -3,7 +3,9 @@ add_subdirectory(Basic)
 add_subdirectory(Lex)
 add_subdirectory(Parse)
 add_subdirectory(AST)
-add_subdirectory(ASTMatchers)
+if(CLANG_ENABLE_REWRITER)
+  add_subdirectory(ASTMatchers)
+endif()
 add_subdirectory(Sema)
 add_subdirectory(CodeGen)
 add_subdirectory(Analysis)
@@ -15,5 +17,7 @@ add_subdirectory(Serialization)
 add_subdirectory(Frontend)
 add_subdirectory(FrontendTool)
 add_subdirectory(Tooling)
-add_subdirectory(StaticAnalyzer)
+if(CLANG_ENABLE_STATIC_ANALYZER)
+  add_subdirectory(StaticAnalyzer)
+endif()
 add_subdirectory(Format)
index 97ac7a46c1940d1b97daa73ca81ea906d1bd85d1..3dac964f802c419ff9f756660ab4bdfafee601d3 100644 (file)
@@ -29,16 +29,31 @@ target_link_libraries(clang
   clangLex
   clangParse
   clangEdit
-  clangARCMigrate
-  clangRewriteCore
-  clangRewriteFrontend
   clangSema
   clangSerialization
-  clangStaticAnalyzerFrontend
-  clangStaticAnalyzerCheckers
-  clangStaticAnalyzerCore
   )
 
+if(CLANG_ENABLE_STATIC_ANALYZER)
+  target_link_libraries(clang
+    clangStaticAnalyzerFrontend
+    clangStaticAnalyzerCheckers
+    clangStaticAnalyzerCore
+    )
+endif()
+
+if(CLANG_ENABLE_ARCMT)
+  target_link_libraries(clang
+    clangARCMigrate
+    )
+endif()
+
+if(CLANG_ENABLE_REWRITER)
+  target_link_libraries(clang
+    clangRewriteCore
+    clangRewriteFrontend
+    )
+endif()
+
 set_target_properties(clang PROPERTIES VERSION ${CLANG_EXECUTABLE_VERSION})
 set_target_properties(clang PROPERTIES ENABLE_EXPORTS 1)
 
index 334ea4142242584e9c78508284a1694e0fb11387..fed775ef0245b86c6e78307e92cf71e048ba069c 100644 (file)
@@ -9,10 +9,14 @@ function(add_clang_unittest test_dirname)
   add_unittest(ClangUnitTests ${test_dirname} ${ARGN})
 endfunction()
 
-add_subdirectory(ASTMatchers)
-add_subdirectory(AST)
 add_subdirectory(Basic)
 add_subdirectory(Lex)
-add_subdirectory(Frontend)
-add_subdirectory(Tooling)
-add_subdirectory(Format)
+if(CLANG_ENABLE_STATIC_ANALYZER)
+  add_subdirectory(Frontend)
+endif()
+if(CLANG_ENABLE_REWRITER)
+  add_subdirectory(ASTMatchers)
+  add_subdirectory(AST)
+  add_subdirectory(Tooling)
+  add_subdirectory(Format)
+endif()