]> granicus.if.org Git - clang/commitdiff
[CMake] Get rid of explicit dependencies to include/clang/*.inc and introduce CLANG_T...
authorNAKAMURA Takumi <geek4civic@gmail.com>
Fri, 21 Feb 2014 07:59:59 +0000 (07:59 +0000)
committerNAKAMURA Takumi <geek4civic@gmail.com>
Fri, 21 Feb 2014 07:59:59 +0000 (07:59 +0000)
This does;
  - clang_tablegen() adds each tblgen'd target to global property CLANG_TABLEGEN_TARGETS as list.
  - List of targets is added to LLVM_COMMON_DEPENDS.
  - all clang libraries and targets depend on generated headers.

You might wonder this would be regression, but in fact, this is little loss.
  - Almost all of clang libraries depend on tblgen'd files and clang-tblgen.
  - clang-tblgen may cause short stall-out but doesn't cause unconditional rebuild.
  - Each library's dependencies to tblgen'd files might vary along headers' structure.
    It made hard to track and update *really optimal* dependencies.

Each dependency to intrinsics_gen and ClangSACheckers is left as DEPENDS.

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

26 files changed:
CMakeLists.txt
examples/PrintFunctionNames/CMakeLists.txt
examples/analyzer-plugin/CMakeLists.txt
lib/ARCMigrate/CMakeLists.txt
lib/AST/CMakeLists.txt
lib/ASTMatchers/CMakeLists.txt
lib/Analysis/CMakeLists.txt
lib/Basic/CMakeLists.txt
lib/CodeGen/CMakeLists.txt
lib/Driver/CMakeLists.txt
lib/Edit/CMakeLists.txt
lib/Format/CMakeLists.txt
lib/Frontend/CMakeLists.txt
lib/FrontendTool/CMakeLists.txt
lib/Lex/CMakeLists.txt
lib/Parse/CMakeLists.txt
lib/Rewrite/Core/CMakeLists.txt
lib/Rewrite/Frontend/CMakeLists.txt
lib/Sema/CMakeLists.txt
lib/Serialization/CMakeLists.txt
lib/StaticAnalyzer/Checkers/CMakeLists.txt
lib/StaticAnalyzer/Core/CMakeLists.txt
lib/StaticAnalyzer/Frontend/CMakeLists.txt
lib/Tooling/CMakeLists.txt
tools/diagtool/CMakeLists.txt
tools/libclang/CMakeLists.txt

index fe9974edbb285cdc0d61b9401f07968f412c6bb4..38b14b5a0febf60bd584927afb053699e3952b94 100644 (file)
@@ -268,6 +268,7 @@ function(clang_tablegen)
   if( CTG_TARGET )
     add_custom_target( ${CTG_TARGET} DEPENDS ${output_file} ${CTG_DEPENDS} )
     set_target_properties( ${CTG_TARGET} PROPERTIES FOLDER "Clang tablegenning")
+    set_property(GLOBAL APPEND PROPERTY CLANG_TABLEGEN_TARGETS ${CTG_TARGET})
   endif()
 endfunction(clang_tablegen)
 
@@ -405,6 +406,11 @@ mark_as_advanced(CLANG_EXECUTABLE_VERSION LIBCLANG_LIBRARY_VERSION)
 add_subdirectory(utils/TableGen)
 
 add_subdirectory(include)
+
+# All targets below may depend on all tablegen'd files.
+get_property(CLANG_TABLEGEN_TARGETS GLOBAL PROPERTY CLANG_TABLEGEN_TARGETS)
+list(APPEND LLVM_COMMON_DEPENDS ${CLANG_TABLEGEN_TARGETS})
+
 add_subdirectory(lib)
 add_subdirectory(tools)
 add_subdirectory(runtime)
index f24b92d320be2a07d5afe0f2a6e4227b750ed833..876b5da87c4b8245a528a93c581d08d8cf7b5af4 100644 (file)
@@ -10,13 +10,3 @@ if( NOT WIN32 ) # Win32 mangles symbols differently, and
 endif()
 
 add_llvm_loadable_module(PrintFunctionNames PrintFunctionNames.cpp)
-
-add_dependencies(PrintFunctionNames
-  ClangAttrClasses
-  ClangAttrList
-  ClangCommentCommandList
-  ClangCommentNodes
-  ClangDeclNodes
-  ClangDiagnosticCommon
-  ClangStmtNodes
-  )
index 9c65d4872aa10f39362eced1d6942d10e2fa5f76..b2a20e127827aee4690bc18f17c4d9bfcff63af3 100644 (file)
@@ -1,11 +1 @@
 add_llvm_loadable_module(SampleAnalyzerPlugin MainCallChecker.cpp)
-
-add_dependencies(SampleAnalyzerPlugin
-  ClangAttrClasses
-  ClangAttrList
-  ClangCommentCommandList
-  ClangCommentNodes
-  ClangDeclNodes
-  ClangDiagnosticCommon
-  ClangStmtNodes
-  )
index b4b5d865d85c7c61cd1a135894bdfb1af8421d01..0bfdb6c13694886a1a19d2e9f27ad5cb10475c7b 100644 (file)
@@ -25,18 +25,6 @@ add_clang_library(clangARCMigrate
   Transforms.cpp
   )
 
-add_dependencies(clangARCMigrate
-  ClangAttrClasses
-  ClangAttrList
-  ClangAttrParsedAttrList
-  ClangCommentNodes
-  ClangDeclNodes
-  ClangDiagnosticCommon
-  ClangDiagnosticGroups
-  ClangDiagnosticSema
-  ClangStmtNodes
-  )
-
 target_link_libraries(clangARCMigrate
   clangAST
   clangAnalysis
index e0b3c33890ae46e0ac94457ea8efa4cd3c00a274..1da3ac671293017a941cddb1ee1505dcbb381dbe 100644 (file)
@@ -59,27 +59,6 @@ add_clang_library(clangAST
   VTTBuilder.cpp
   )
 
-add_dependencies(clangAST
-  ClangARMNeon
-  ClangAttrClasses
-  ClangAttrList
-  ClangAttrImpl
-  ClangAttrDump
-  ClangAttrVisitor
-  ClangCommentCommandInfo
-  ClangCommentCommandList
-  ClangCommentNodes
-  ClangCommentHTMLTags
-  ClangCommentHTMLTagsProperties
-  ClangCommentHTMLNamedCharacterReferences
-  ClangDeclNodes
-  ClangDiagnosticAST
-  ClangDiagnosticComment
-  ClangDiagnosticCommon
-  ClangDiagnosticSema
-  ClangStmtNodes
-  )
-
 target_link_libraries(clangAST
   clangBasic
   clangLex
index 82a5e6d3a9bf60ac4267e135fe20fb659cf8d3ef..e2a8fc5020df63302228d2a265e67fc783092e99 100644 (file)
@@ -7,16 +7,6 @@ add_clang_library(clangASTMatchers
   ASTMatchersInternal.cpp
   )
 
-add_dependencies(clangASTMatchers
-  ClangAttrClasses
-  ClangAttrImpl
-  ClangAttrList
-  ClangCommentNodes
-  ClangDeclNodes
-  ClangDiagnosticCommon
-  ClangStmtNodes
-  )
-
 target_link_libraries(clangASTMatchers
   clangAST
   )
index 23aadcf1dfd70eee128629aeddcd211d3b87a35a..231db95f38d03e8f6d530ad353ff35c9c3dc36f1 100644 (file)
@@ -26,16 +26,6 @@ add_clang_library(clangAnalysis
   UninitializedValues.cpp
   )
 
-add_dependencies(clangAnalysis
-  ClangAttrClasses
-  ClangAttrList
-  ClangCommentNodes
-  ClangDiagnosticCommon
-  ClangDeclNodes
-  ClangDiagnosticAnalysis
-  ClangStmtNodes
-  )
-
 target_link_libraries(clangAnalysis
   clangBasic
   clangAST
index 2efe8127b9a561789348ae618d67126f0e65dec9..d248d3dc8275a7b8148d1bf9ef59be1514ac4de8 100644 (file)
@@ -51,20 +51,3 @@ if (Subversion_FOUND AND EXISTS "${CLANG_SOURCE_DIR}/.svn")
     PROPERTIES COMPILE_DEFINITIONS "HAVE_SVN_VERSION_INC")
 
 endif()
-
-add_dependencies(clangBasic
-  ClangARMNeon
-  ClangAttrList
-  ClangDiagnosticAnalysis
-  ClangDiagnosticAST
-  ClangDiagnosticComment
-  ClangDiagnosticCommon
-  ClangDiagnosticDriver
-  ClangDiagnosticFrontend
-  ClangDiagnosticGroups
-  ClangDiagnosticIndexName
-  ClangDiagnosticLex
-  ClangDiagnosticParse
-  ClangDiagnosticSema
-  ClangDiagnosticSerialization
-  )
index 60ad9cb442ad0c693a10cea9b47053098c610845..a2048c522126e83534f6144f60c5d31b3ac522ad 100644 (file)
@@ -60,17 +60,6 @@ add_clang_library(clangCodeGen
   TargetInfo.cpp
   )
 
-add_dependencies(clangCodeGen
-  ClangARMNeon
-  ClangAttrClasses
-  ClangAttrList
-  ClangCommentNodes
-  ClangDeclNodes
-  ClangDiagnosticCommon
-  ClangDiagnosticFrontend
-  ClangStmtNodes
-  )
-
 target_link_libraries(clangCodeGen
   clangBasic
   clangAST
index 818d554d4ecd53ab9488b57652e4729b0d3498d8..9468601d40aca9aa9698078fd1a1cff43c0644a1 100644 (file)
@@ -20,13 +20,9 @@ add_clang_library(clangDriver
   WindowsToolChain.cpp
   Tools.cpp
   Types.cpp
-  )
 
-add_dependencies(clangDriver
-  ClangAttrList
+  DEPENDS
   ClangCC1AsOptions
-  ClangDiagnosticCommon
-  ClangDiagnosticDriver
   ClangDriverOptions
   )
 
index 85e1298640274f910c2a252aa499f827d1c70d8e..b81f8a95cf3ed4d7041514f8e8d8be9b322c4c0b 100644 (file)
@@ -8,15 +8,6 @@ add_clang_library(clangEdit
   RewriteObjCFoundationAPI.cpp
   )
 
-add_dependencies(clangEdit
-  ClangAttrClasses
-  ClangAttrList
-  ClangCommentNodes
-  ClangDeclNodes
-  ClangDiagnosticCommon
-  ClangStmtNodes
-  )
-
 target_link_libraries(clangEdit
   clangBasic
   clangAST
index eb24386171912fadad893ceed72b30ce51d6704f..e87c9401027a728352b257c99a4f1d0e5e76d400 100644 (file)
@@ -10,15 +10,6 @@ add_clang_library(clangFormat
   WhitespaceManager.cpp
   )
 
-add_dependencies(clangFormat
-  ClangAttrClasses
-  ClangAttrList
-  ClangDeclNodes
-  ClangDiagnosticCommon
-  ClangDiagnosticFrontend
-  ClangStmtNodes
-  )
-
 target_link_libraries(clangFormat
   clangBasic
   clangLex
index 3539405ff3710e8e7718b03c681c8704d83044f9..f601283eb3f9264ddaa239bd8803f0abd3ffed6b 100644 (file)
@@ -35,22 +35,6 @@ add_clang_library(clangFrontend
   Warnings.cpp
   )
 
-add_dependencies(clangFrontend
-  ClangAttrClasses
-  ClangAttrList
-  ClangAttrParsedAttrList
-  ClangCommentNodes
-  ClangDeclNodes
-  ClangDiagnosticAST
-  ClangDiagnosticCommon
-  ClangDiagnosticDriver
-  ClangDiagnosticFrontend
-  ClangDiagnosticLex
-  ClangDiagnosticSema
-  ClangDriverOptions
-  ClangStmtNodes
-  )
-
 target_link_libraries(clangFrontend
   clangAST
   clangBasic
index c818d6f3e67ef5abc59b17f8c3e2538e6f76e87e..4274a604a2ebd50151d4b4c23a973950de99afe3 100644 (file)
@@ -7,12 +7,6 @@ add_clang_library(clangFrontendTool
   ExecuteCompilerInvocation.cpp
   )
 
-add_dependencies(clangFrontendTool
-  ClangDiagnosticCommon
-  ClangDiagnosticFrontend
-  ClangDriverOptions
-  )
-
 target_link_libraries(clangFrontendTool
   clangBasic
   clangCodeGen
index 2ee468294ae74270b3187872f683593e0b609ad8..f5050179b1e6b8465e4f02494bec5096aba03a3d 100644 (file)
@@ -27,12 +27,6 @@ add_clang_library(clangLex
   TokenLexer.cpp
   )
 
-add_dependencies(clangLex
-  ClangAttrSpellings
-  ClangDiagnosticCommon
-  ClangDiagnosticLex
-  )
-
 target_link_libraries(clangLex
   clangBasic
   )
index 924ebff99ac2dbe93adfc4b502a329cd857579ac..43500bfaa605e41a47ef935c34cdf58d816bb1ee 100644 (file)
@@ -21,18 +21,6 @@ add_clang_library(clangParse
   Parser.cpp
   )
 
-add_dependencies(clangParse
-  ClangAttrClasses
-  ClangAttrParserStringSwitches
-  ClangAttrList
-  ClangAttrParsedAttrList
-  ClangCommentNodes
-  ClangDeclNodes
-  ClangDiagnosticCommon
-  ClangDiagnosticParse
-  ClangStmtNodes
-  )
-
 target_link_libraries(clangParse
   clangBasic
   clangAST
index 0c17862d6407fdde86f91020754624f40c46246a..6e9505fd9f211803bcb5f36d22d08e130db2c54e 100644 (file)
@@ -10,17 +10,6 @@ add_clang_library(clangRewriteCore
   TokenRewriter.cpp
   )
 
-add_dependencies(clangRewriteCore
-  ClangAttrClasses
-  ClangAttrList
-  ClangAttrParsedAttrList
-  ClangCommentNodes
-  ClangDeclNodes
-  ClangDiagnosticCommon
-  ClangDiagnosticFrontend
-  ClangStmtNodes
-  )
-
 target_link_libraries(clangRewriteCore
   clangAST
   clangBasic
index a354ebfec3e9f942790b57b5dcaed2eafec82961..c1146181f340076c2a77c8b6d179e46e9f1b3b67 100644 (file)
@@ -13,17 +13,6 @@ add_clang_library(clangRewriteFrontend
   RewriteTest.cpp
   )
 
-add_dependencies(clangRewriteFrontend
-  ClangAttrClasses
-  ClangAttrList
-  ClangAttrParsedAttrList
-  ClangCommentNodes
-  ClangDeclNodes
-  ClangDiagnosticCommon
-  ClangDiagnosticFrontend
-  ClangStmtNodes
-  )
-
 target_link_libraries(clangRewriteFrontend
   clangAST
   clangBasic
index 75702e1d8b254009ab8eb6abd2f69f2e475788cd..1c16f0f987fdd9f73d59dd05aa0ba5b8a1edfbd0 100644 (file)
@@ -50,25 +50,6 @@ add_clang_library(clangSema
   TypeLocBuilder.cpp
   )
 
-add_dependencies(clangSema
-  ClangARMNeon
-  ClangAttrClasses
-  ClangAttrList
-  ClangAttrParsedAttrList
-  ClangAttrParsedAttrKinds
-  ClangAttrParsedAttrImpl
-  ClangAttrSpellingListIndex
-  ClangAttrTemplateInstantiate
-  ClangCommentNodes
-  ClangDeclNodes
-  ClangDiagnosticAST
-  ClangDiagnosticComment
-  ClangDiagnosticCommon
-  ClangDiagnosticParse
-  ClangDiagnosticSema
-  ClangStmtNodes
-  )
-
 target_link_libraries(clangSema
   clangAST
   clangAnalysis
index cade8fad72184e795798afe1ed6d64cd2a6d7df7..cd7082006dceb3775ecd83edee75b78ecddcb30e 100644 (file)
@@ -22,21 +22,6 @@ add_clang_library(clangSerialization
   ASTReaderInternals.h
   )
 
-add_dependencies(clangSerialization
-  ClangAttrClasses
-  ClangAttrList
-  ClangAttrParsedAttrList
-  ClangAttrPCHRead
-  ClangAttrPCHWrite
-  ClangCommentNodes
-  ClangDeclNodes
-  ClangDiagnosticCommon
-  ClangDiagnosticLex
-  ClangDiagnosticSema
-  ClangDiagnosticSerialization
-  ClangStmtNodes
-  )
-
 target_link_libraries(clangSerialization
   clangAST
   clangBasic
index 8a8411cbeac3aa9b231314d882af3c6efa643f2a..b231864123a77414cf0cb0a0da9bc727bb65bcd4 100644 (file)
@@ -74,15 +74,8 @@ add_clang_library(clangStaticAnalyzerCheckers
   UnreachableCodeChecker.cpp
   VLASizeChecker.cpp
   VirtualCallChecker.cpp
-  )
 
-add_dependencies(clangStaticAnalyzerCheckers
-  ClangAttrClasses
-  ClangAttrList
-  ClangCommentNodes
-  ClangDeclNodes
-  ClangDiagnosticCommon
-  ClangStmtNodes
+  DEPENDS
   ClangSACheckers
   )
 
index c3e037ceeec7d8bc10475147996edd99997c35c1..89c0be138d3bcb37d9d206ef79f95edae4935472 100644 (file)
@@ -41,15 +41,6 @@ add_clang_library(clangStaticAnalyzerCore
   SymbolManager.cpp
   )
 
-add_dependencies(clangStaticAnalyzerCore
-  ClangAttrClasses
-  ClangAttrList
-  ClangCommentNodes
-  ClangDeclNodes
-  ClangDiagnosticCommon
-  ClangStmtNodes
-  )
-
 target_link_libraries(clangStaticAnalyzerCore
   clangAST
   clangAnalysis
index 6734ae501d58f0712fe8b67dc49c6b11e39e8cc3..4df4556648c75c944e64920306e074cad8f23a9e 100644 (file)
@@ -10,16 +10,6 @@ add_clang_library(clangStaticAnalyzerFrontend
   FrontendActions.cpp
   )
 
-add_dependencies(clangStaticAnalyzerFrontend
-  ClangAttrClasses
-  ClangAttrList
-  ClangCommentNodes
-  ClangDeclNodes
-  ClangDiagnosticCommon
-  ClangDiagnosticFrontend
-  ClangStmtNodes
-  )
-
 target_link_libraries(clangStaticAnalyzerFrontend
   clangAST
   clangAnalysis
index 3cce49d0ca5ce18f3bddb39c252bbfad044fe372..83c71b6c1e1cc4ba6bfe9010ba759940fd64933e 100644 (file)
@@ -11,15 +11,6 @@ add_clang_library(clangTooling
   Tooling.cpp
   )
 
-add_dependencies(clangTooling
-  ClangAttrClasses
-  ClangAttrList
-  ClangDeclNodes
-  ClangDiagnosticCommon
-  ClangDiagnosticFrontend
-  ClangStmtNodes
-  )
-
 target_link_libraries(clangTooling
   clangAST
   clangASTMatchers
index c56d8a70c49179de5a1c474017d3d3b427cc8046..e88c2ab6e8c3f7d6aca8030c666d8c65c2be7558 100644 (file)
@@ -11,10 +11,6 @@ add_clang_executable(diagtool
   TreeView.cpp
 )
 
-add_dependencies(diagtool
-  ClangDiagnosticIndexName
-  )
-
 target_link_libraries(diagtool
   clangBasic
   clangFrontend
index 95a8a6ccbaf6317175c848175dc4a49c8d247fb9..5d908ae096bfa41ffffc78edc72138b9efe4e7c2 100644 (file)
@@ -53,19 +53,6 @@ set(LIBRARIES
   clangTooling
   )
 
-set(GENERATED_HEADERS
-  ClangAttrClasses
-  ClangAttrList
-  ClangAttrParsedAttrList
-  ClangAttrVisitor
-  ClangCommentCommandList
-  ClangCommentNodes
-  ClangDiagnosticCommon
-  ClangDiagnosticFrontend
-  ClangDeclNodes
-  ClangStmtNodes
-  )
-
 option(LIBCLANG_BUILD_STATIC
   "Build libclang as a static library (in addition to a shared one)" OFF)
 
@@ -79,9 +66,11 @@ if(MSVC)
 endif()
 
 if( LLVM_ENABLE_PIC )
-  add_clang_library(libclang SHARED ${SOURCES})
+  add_clang_library(libclang SHARED
+    ${SOURCES}
+    DEPENDS clang-headers
+    )
   target_link_libraries(libclang ${LIBRARIES})
-  add_dependencies(libclang ${GENERATED_HEADERS} clang-headers)
 
   if(WIN32)
     set_target_properties(libclang
@@ -120,7 +109,6 @@ endif()
 if( (NOT LLVM_ENABLE_PIC OR LIBCLANG_BUILD_STATIC) AND NOT WIN32 )
   add_clang_library(${LIBCLANG_STATIC_TARGET_NAME} STATIC ${SOURCES})
   target_link_libraries(${LIBCLANG_STATIC_TARGET_NAME} ${LIBRARIES})
-  add_dependencies(${LIBCLANG_STATIC_TARGET_NAME} ${GENERATED_HEADERS} clang-headers)
 
   set_target_properties(${LIBCLANG_STATIC_TARGET_NAME}
     PROPERTIES