From 560a921b85773ac7c2d1a7a4aec4682c822c5cb4 Mon Sep 17 00:00:00 2001 From: "Michael J. Spencer" <bigcheesegs@gmail.com> Date: Mon, 13 Sep 2010 23:54:41 +0000 Subject: [PATCH] Revert "CMake: Update to use standard CMake dependency tracking facilities instead" This reverts commit r113631 Conflicts: CMakeLists.txt lib/CodeGen/CMakeLists.txt git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@113817 91177308-0d34-0410-b5e6-96231b3b80d8 --- CMakeLists.txt | 1 - examples/PrintFunctionNames/CMakeLists.txt | 11 +----- examples/clang-interpreter/CMakeLists.txt | 46 +++++++++++++--------- examples/wpa/CMakeLists.txt | 18 +++++---- lib/AST/CMakeLists.txt | 17 ++------ lib/Analysis/CMakeLists.txt | 17 ++------ lib/Basic/CMakeLists.txt | 31 ++++++--------- lib/Checker/CMakeLists.txt | 18 ++------- lib/CodeGen/CMakeLists.txt | 20 ++-------- lib/Driver/CMakeLists.txt | 17 ++------ lib/Frontend/CMakeLists.txt | 27 ++++++------- lib/FrontendTool/CMakeLists.txt | 11 ++---- lib/Index/CMakeLists.txt | 36 ++++++++--------- lib/Lex/CMakeLists.txt | 10 ++--- lib/Parse/CMakeLists.txt | 17 ++------ lib/Rewrite/CMakeLists.txt | 12 ++---- lib/Sema/CMakeLists.txt | 16 ++------ lib/Serialization/CMakeLists.txt | 9 ++--- tools/c-index-test/CMakeLists.txt | 12 ++++-- tools/driver/CMakeLists.txt | 32 ++++++++------- tools/libclang/CMakeLists.txt | 39 +++++++++--------- 21 files changed, 165 insertions(+), 252 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 5577e318c2..854174cd2b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -107,7 +107,6 @@ macro(add_clang_library name) set_target_properties(${name} PROPERTIES COMPILE_FLAGS ${cflag}) endif(MSVC) install(TARGETS ${name} - EXPORT LLVM LIBRARY DESTINATION lib${LLVM_LIBDIR_SUFFIX} ARCHIVE DESTINATION lib${LLVM_LIBDIR_SUFFIX}) endmacro(add_clang_library) diff --git a/examples/PrintFunctionNames/CMakeLists.txt b/examples/PrintFunctionNames/CMakeLists.txt index cea15bf934..5ea75db42e 100644 --- a/examples/PrintFunctionNames/CMakeLists.txt +++ b/examples/PrintFunctionNames/CMakeLists.txt @@ -2,16 +2,7 @@ set(MODULE TRUE) set(LLVM_NO_RTTI 1) -add_clang_library(PrintFunctionNames - PrintFunctionNames.cpp - ) - -target_link_libraries(PrintFunctionNames - clangAST - clangFrontend - clangBasic - ) - +add_clang_library(PrintFunctionNames PrintFunctionNames.cpp) set_target_properties(PrintFunctionNames PROPERTIES diff --git a/examples/clang-interpreter/CMakeLists.txt b/examples/clang-interpreter/CMakeLists.txt index c00874322e..73f28bb7a2 100644 --- a/examples/clang-interpreter/CMakeLists.txt +++ b/examples/clang-interpreter/CMakeLists.txt @@ -1,24 +1,34 @@ set(LLVM_NO_RTTI 1) -add_clang_executable(clang-interpreter - main.cpp - ) +set(LLVM_USED_LIBS + clangFrontend + clangSerialization + clangDriver + clangCodeGen + clangSema + clangChecker + clangIndex + clangAnalysis + clangRewrite + clangAST + clangParse + clangLex + clangBasic + ) -add_llvm_link_components(clang-interpreter jit interpreter nativecodegen) -target_link_libraries(clang-interpreter - clangFrontend - clangSerialization - clangDriver - clangCodeGen - clangSema - clangChecker - clangIndex - clangAnalysis - clangRewrite - clangAST - clangParse - clangLex - clangBasic +set(LLVM_LINK_COMPONENTS + jit + interpreter + nativecodegen + asmparser + bitreader + bitwriter + codegen + ipo + selectiondag ) +add_clang_executable(clang-interpreter + main.cpp + ) add_dependencies(clang-interpreter clang-headers) diff --git a/examples/wpa/CMakeLists.txt b/examples/wpa/CMakeLists.txt index b7d85cbbfd..13e4298c1f 100644 --- a/examples/wpa/CMakeLists.txt +++ b/examples/wpa/CMakeLists.txt @@ -1,10 +1,6 @@ set(LLVM_NO_RTTI 1) -add_clang_executable(clang-wpa - clang-wpa.cpp - ) - -target_link_libraries(clang-wpa +set(LLVM_USED_LIBS clangIndex clangFrontend clangDriver @@ -16,9 +12,15 @@ target_link_libraries(clang-wpa clangAST clangParse clangLex - clangBasic + clangBasic) + +set( LLVM_LINK_COMPONENTS + bitreader + mc + core ) -add_dependencies(clang-wpa - clang-headers +add_clang_executable(clang-wpa + clang-wpa.cpp ) +add_dependencies(clang-wpa clang-headers) diff --git a/lib/AST/CMakeLists.txt b/lib/AST/CMakeLists.txt index 9d2ee4fe72..f56e6c41b0 100644 --- a/lib/AST/CMakeLists.txt +++ b/lib/AST/CMakeLists.txt @@ -1,5 +1,7 @@ set(LLVM_NO_RTTI 1) +set(LLVM_USED_LIBS clangBasic) + add_clang_library(clangAST APValue.cpp ASTConsumer.cpp @@ -42,16 +44,5 @@ add_clang_library(clangAST TypePrinter.cpp ) -target_link_libraries(clangAST - clangBasic - ) - -add_dependencies(clangAST - ClangARMNeon - ClangAttrClasses - ClangAttrList - ClangAttrImpl - ClangDiagnosticAST - ClangDeclNodes - ClangStmtNodes - ) +add_dependencies(clangAST ClangARMNeon ClangAttrClasses ClangAttrList + ClangAttrImpl ClangDiagnosticAST ClangDeclNodes ClangStmtNodes) diff --git a/lib/Analysis/CMakeLists.txt b/lib/Analysis/CMakeLists.txt index f05bbedf0d..a2cfcfc4fa 100644 --- a/lib/Analysis/CMakeLists.txt +++ b/lib/Analysis/CMakeLists.txt @@ -1,5 +1,7 @@ set(LLVM_NO_RTTI 1) +set(LLVM_USED_LIBS clangBasic clangAST clangIndex) + add_clang_library(clangAnalysis AnalysisContext.cpp CFG.cpp @@ -13,16 +15,5 @@ add_clang_library(clangAnalysis UninitializedValues.cpp ) -target_link_libraries(clangAnalysis - clangBasic - clangAST - clangIndex - ) - -add_dependencies(clangAnalysis - ClangAttrClasses - ClangAttrList - ClangDiagnosticAnalysis - ClangDeclNodes - ClangStmtNodes - ) +add_dependencies(clangAnalysis ClangAttrClasses ClangAttrList + ClangDiagnosticAnalysis ClangDeclNodes ClangStmtNodes) diff --git a/lib/Basic/CMakeLists.txt b/lib/Basic/CMakeLists.txt index d0ee682dc8..87bf834c27 100644 --- a/lib/Basic/CMakeLists.txt +++ b/lib/Basic/CMakeLists.txt @@ -14,10 +14,6 @@ add_clang_library(clangBasic Version.cpp ) -target_link_libraries(clangBasic - LLVMMC - ) - # Determine Subversion revision. # FIXME: This only gets updated when CMake is run, so this revision number # may be out-of-date! @@ -28,17 +24,16 @@ if (Subversion_FOUND AND EXISTS "${CLANG_SOURCE_DIR}/.svn") PROPERTIES COMPILE_DEFINITIONS "SVN_REVISION=\"${CLANG_WC_REVISION}\"") endif() -add_dependencies(clangBasic - ClangARMNeon - ClangAttrList - ClangDiagnosticAnalysis - ClangDiagnosticAST - ClangDiagnosticCommon - ClangDiagnosticDriver - ClangDiagnosticFrontend - ClangDiagnosticGroups - ClangDiagnosticLex - ClangDiagnosticParse - ClangDiagnosticSema - ) - +add_dependencies(clangBasic + ClangARMNeon + ClangAttrList + ClangDiagnosticAnalysis + ClangDiagnosticAST + ClangDiagnosticCommon + ClangDiagnosticDriver + ClangDiagnosticFrontend + ClangDiagnosticGroups + ClangDiagnosticLex + ClangDiagnosticParse + ClangDiagnosticSema) + diff --git a/lib/Checker/CMakeLists.txt b/lib/Checker/CMakeLists.txt index e4c9a809cc..e69808e48e 100644 --- a/lib/Checker/CMakeLists.txt +++ b/lib/Checker/CMakeLists.txt @@ -1,5 +1,7 @@ set(LLVM_NO_RTTI 1) +set(LLVM_USED_LIBS clangBasic clangLex clangAST clangFrontend clangRewrite) + add_clang_library(clangChecker AdjustedReturnValueChecker.cpp AggExprVisitor.cpp @@ -82,17 +84,5 @@ add_clang_library(clangChecker ValueManager.cpp ) -target_link_libraries(clangChecker - clangBasic - clangLex - clangAST - clangFrontend - clangRewrite - ) - -add_dependencies(clangChecker - ClangAttrClasses - ClangAttrList - ClangDeclNodes - ClangStmtNodes - ) +add_dependencies(clangChecker ClangAttrClasses ClangAttrList ClangDeclNodes + ClangStmtNodes) diff --git a/lib/CodeGen/CMakeLists.txt b/lib/CodeGen/CMakeLists.txt index 3729c6a577..1767a7d47b 100644 --- a/lib/CodeGen/CMakeLists.txt +++ b/lib/CodeGen/CMakeLists.txt @@ -1,5 +1,7 @@ set(LLVM_NO_RTTI 1) +set(LLVM_USED_LIBS clangBasic clangAST clangFrontend) + add_clang_library(clangCodeGen BackendUtil.cpp CGBlocks.cpp @@ -37,19 +39,5 @@ add_clang_library(clangCodeGen TargetInfo.cpp ) -target_link_libraries(clangCodeGen - LLVMCore - LLVMAsmParser - LLVMBitReader - LLVMBitWriter - LLVMipo - ) - -add_dependencies(clangCodeGen - ClangARMNeon - ClangAttrClasses - ClangAttrList - ClangDeclNodes - ClangStmtNodes - ClangDiagnosticFrontend - ) +add_dependencies(clangCodeGen ClangAttrClasses ClangAttrList ClangDeclNodes + ClangStmtNodes) diff --git a/lib/Driver/CMakeLists.txt b/lib/Driver/CMakeLists.txt index 9558c911b0..9d41b55981 100644 --- a/lib/Driver/CMakeLists.txt +++ b/lib/Driver/CMakeLists.txt @@ -1,5 +1,7 @@ set(LLVM_NO_RTTI 1) +set(LLVM_USED_LIBS clangBasic clangAST clangParse) + add_clang_library(clangDriver Action.cpp Arg.cpp @@ -21,16 +23,5 @@ add_clang_library(clangDriver Types.cpp ) -target_link_libraries(clangDriver - clangBasic - clangAST - clangParse - ) - -add_dependencies(clangDriver - ClangAttrList - ClangDiagnosticDriver - ClangDriverOptions - ClangCC1Options - ClangCC1AsOptions - ) +add_dependencies(clangDriver ClangAttrList ClangDiagnosticDriver + ClangDriverOptions ClangCC1Options ClangCC1AsOptions) diff --git a/lib/Frontend/CMakeLists.txt b/lib/Frontend/CMakeLists.txt index 6d7d728001..ca8fbcf5f9 100644 --- a/lib/Frontend/CMakeLists.txt +++ b/lib/Frontend/CMakeLists.txt @@ -1,5 +1,14 @@ set(LLVM_NO_RTTI 1) +set( LLVM_USED_LIBS + clangDriver + clangParse + clangSema + clangAST + clangLex + clangBasic + ) + add_clang_library(clangFrontend ASTConsumers.cpp ASTMerge.cpp @@ -27,17 +36,6 @@ add_clang_library(clangFrontend Warnings.cpp ) -target_link_libraries(clangFrontend - LLVMCore - - clangDriver - clangParse - clangSema - clangAST - clangLex - clangBasic - ) - IF(MSVC) get_target_property(NON_ANSI_COMPILE_FLAGS clangFrontend COMPILE_FLAGS) string(REPLACE /Za @@ -46,13 +44,12 @@ IF(MSVC) set_target_properties(clangFrontend PROPERTIES COMPILE_FLAGS ${NON_ANSI_COMPILE_FLAGS}) ENDIF(MSVC) -add_dependencies(clangFrontend +add_dependencies(clangFrontend ClangAttrClasses ClangAttrList ClangCC1Options - ClangDiagnosticFrontend + ClangDiagnosticFrontend ClangDiagnosticLex ClangDiagnosticSema ClangDeclNodes - ClangStmtNodes - ) + ClangStmtNodes) diff --git a/lib/FrontendTool/CMakeLists.txt b/lib/FrontendTool/CMakeLists.txt index 3790ba734b..09d9e3419d 100644 --- a/lib/FrontendTool/CMakeLists.txt +++ b/lib/FrontendTool/CMakeLists.txt @@ -1,13 +1,8 @@ set(LLVM_NO_RTTI 1) +set(LLVM_USED_LIBS clangDriver clangFrontend clangRewrite clangCodeGen + clangChecker) + add_clang_library(clangFrontendTool ExecuteCompilerInvocation.cpp ) - -target_link_libraries(clangFrontendTool - clangDriver - clangFrontend - clangRewrite - clangCodeGen - clangChecker - ) diff --git a/lib/Index/CMakeLists.txt b/lib/Index/CMakeLists.txt index 7ad106e5d2..bbe9b567ac 100644 --- a/lib/Index/CMakeLists.txt +++ b/lib/Index/CMakeLists.txt @@ -1,20 +1,8 @@ set(LLVM_NO_RTTI 1) -add_clang_library(clangIndex - ASTLocation.cpp - Analyzer.cpp - CallGraph.cpp - DeclReferenceMap.cpp - Entity.cpp - GlobalSelector.cpp - Handlers.cpp - IndexProvider.cpp - Indexer.cpp - Program.cpp - SelectorMap.cpp - ) +set(LLVM_USED_LIBS clangBasic clangLex clangAST) -target_link_libraries(clangIndex +set( LLVM_USED_LIBS clangSerialization clangFrontend clangParse @@ -28,9 +16,19 @@ target_link_libraries(clangIndex clangBasic ) -add_dependencies(clangIndex - ClangAttrClasses - ClangAttrList - ClangDeclNodes - ClangStmtNodes +add_clang_library(clangIndex + ASTLocation.cpp + Analyzer.cpp + CallGraph.cpp + DeclReferenceMap.cpp + Entity.cpp + GlobalSelector.cpp + Handlers.cpp + IndexProvider.cpp + Indexer.cpp + Program.cpp + SelectorMap.cpp ) + +add_dependencies(clangIndex ClangAttrClasses ClangAttrList + ClangDeclNodes ClangStmtNodes) diff --git a/lib/Lex/CMakeLists.txt b/lib/Lex/CMakeLists.txt index 3c23644149..0476384eff 100644 --- a/lib/Lex/CMakeLists.txt +++ b/lib/Lex/CMakeLists.txt @@ -2,6 +2,8 @@ set(LLVM_NO_RTTI 1) # TODO: Add -maltivec when ARCH is PowerPC. +set(LLVM_USED_LIBS clangBasic) + add_clang_library(clangLex HeaderMap.cpp HeaderSearch.cpp @@ -24,10 +26,4 @@ add_clang_library(clangLex TokenLexer.cpp ) -target_link_libraries(clangLex - clangBasic - ) - -add_dependencies(clangLex - ClangDiagnosticLex - ) +add_dependencies(clangLex ClangDiagnosticLex) diff --git a/lib/Parse/CMakeLists.txt b/lib/Parse/CMakeLists.txt index a84cf51f7b..5b75a668a4 100644 --- a/lib/Parse/CMakeLists.txt +++ b/lib/Parse/CMakeLists.txt @@ -1,5 +1,7 @@ set(LLVM_NO_RTTI 1) +set(LLVM_USED_LIBS clangBasic clangAST clangLex clangSema) + add_clang_library(clangParse ParseAST.cpp ParseCXXInlineMethods.cpp @@ -16,17 +18,4 @@ add_clang_library(clangParse Parser.cpp ) -target_link_libraries(clangParse - clangBasic - clangAST - clangLex - clangSema - ) - -add_dependencies(clangParse - ClangAttrClasses - ClangAttrList - ClangDeclNodes - ClangDiagnosticParse - ClangStmtNodes - ) +add_dependencies(clangParse ClangAttrClasses ClangAttrList ClangDeclNodes ClangDiagnosticParse ClangStmtNodes) diff --git a/lib/Rewrite/CMakeLists.txt b/lib/Rewrite/CMakeLists.txt index 0f2c6f219b..853a9c0b12 100644 --- a/lib/Rewrite/CMakeLists.txt +++ b/lib/Rewrite/CMakeLists.txt @@ -1,5 +1,7 @@ set(LLVM_NO_RTTI 1) +set(LLVM_USED_LIBS clangBasic clangAST clangParse clangFrontend) + add_clang_library(clangRewrite DeltaTree.cpp FixItRewriter.cpp @@ -14,16 +16,8 @@ add_clang_library(clangRewrite TokenRewriter.cpp ) -target_link_libraries(clangRewrite - clangBasic - clangAST - clangParse - clangFrontend - ) - add_dependencies(clangRewrite ClangAttrClasses ClangAttrList ClangDeclNodes - ClangStmtNodes - ) + ClangStmtNodes) diff --git a/lib/Sema/CMakeLists.txt b/lib/Sema/CMakeLists.txt index d3a52613b6..c220e90c12 100644 --- a/lib/Sema/CMakeLists.txt +++ b/lib/Sema/CMakeLists.txt @@ -1,5 +1,7 @@ set(LLVM_NO_RTTI 1) +set(LLVM_USED_LIBS clangBasic clangAST clangLex clangAnalysis) + add_clang_library(clangSema AnalysisBasedWarnings.cpp AttributeList.cpp @@ -35,15 +37,5 @@ add_clang_library(clangSema TargetAttributesSema.cpp ) -target_link_libraries(clangSema - clangAnalysis - ) - -add_dependencies(clangSema - ClangARMNeon - ClangAttrClasses - ClangAttrList - ClangDiagnosticSema - ClangDeclNodes - ClangStmtNodes - ) +add_dependencies(clangSema ClangARMNeon ClangAttrClasses ClangAttrList + ClangDiagnosticSema ClangDeclNodes ClangStmtNodes) diff --git a/lib/Serialization/CMakeLists.txt b/lib/Serialization/CMakeLists.txt index f1bf1f90a1..a3782180b3 100644 --- a/lib/Serialization/CMakeLists.txt +++ b/lib/Serialization/CMakeLists.txt @@ -1,5 +1,7 @@ set(LLVM_NO_RTTI 1) +set(LLVM_USED_LIBS clangFrontend) + add_clang_library(clangSerialization GeneratePCH.cpp ASTCommon.cpp @@ -11,10 +13,6 @@ add_clang_library(clangSerialization ASTWriterStmt.cpp ) -target_link_libraries(clangSerialization - clangFrontend - ) - add_dependencies(clangSerialization ClangAttrClasses ClangAttrList @@ -24,5 +22,4 @@ add_dependencies(clangSerialization ClangDiagnosticLex ClangDiagnosticSema ClangDeclNodes - ClangStmtNodes - ) + ClangStmtNodes) diff --git a/tools/c-index-test/CMakeLists.txt b/tools/c-index-test/CMakeLists.txt index 149b70ae43..0cda6c4a31 100644 --- a/tools/c-index-test/CMakeLists.txt +++ b/tools/c-index-test/CMakeLists.txt @@ -1,11 +1,15 @@ set(LLVM_NO_RTTI 1) -add_clang_executable(c-index-test - c-index-test.c +set(LLVM_USED_LIBS libclang) + +set( LLVM_LINK_COMPONENTS + bitreader + mc + core ) -target_link_libraries(c-index-test - libclang +add_clang_executable(c-index-test + c-index-test.c ) set_target_properties(c-index-test diff --git a/tools/driver/CMakeLists.txt b/tools/driver/CMakeLists.txt index 8529700a8a..ec6e9c6e80 100644 --- a/tools/driver/CMakeLists.txt +++ b/tools/driver/CMakeLists.txt @@ -1,20 +1,6 @@ set(LLVM_NO_RTTI 1) -add_clang_executable(clang - driver.cpp - cc1_main.cpp - cc1as_main.cpp - ) - -add_llvm_link_components(clang all) -target_link_libraries(clang - LLVMAsmParser - LLVMBitReader - LLVMBitWriter - LLVMCodeGen - LLVMipo - LLVMSelectionDAG - +set( LLVM_USED_LIBS clangFrontendTool clangFrontend clangDriver @@ -31,6 +17,22 @@ target_link_libraries(clang clangBasic ) +set( LLVM_LINK_COMPONENTS + ${LLVM_TARGETS_TO_BUILD} + asmparser + bitreader + bitwriter + codegen + ipo + selectiondag + ) + +add_clang_executable(clang + driver.cpp + cc1_main.cpp + cc1as_main.cpp + ) + if(UNIX) set(CLANGXX_LINK_OR_COPY create_symlink) set(CLANGXX_DESTDIR $ENV{DESTDIR}/) diff --git a/tools/libclang/CMakeLists.txt b/tools/libclang/CMakeLists.txt index fc7f41aeaa..9a2a2a63cf 100644 --- a/tools/libclang/CMakeLists.txt +++ b/tools/libclang/CMakeLists.txt @@ -2,6 +2,22 @@ set(SHARED_LIBRARY TRUE) set(LLVM_NO_RTTI 1) +set(LLVM_USED_LIBS + clangFrontend + clangDriver + clangSerialization + clangIndex + clangSema + clangAST + clangLex + clangBasic) + +set( LLVM_LINK_COMPONENTS + bitreader + mc + core + ) + add_clang_library(libclang CIndex.cpp CIndexCXX.cpp @@ -13,34 +29,19 @@ add_clang_library(libclang CXCursor.cpp CXType.cpp ../../include/clang-c/Index.h - ) - -target_link_libraries(libclang - LLVMBitReader - LLVMMC - LLVMCore - - clangFrontend - clangDriver - clangSerialization - clangIndex - clangSema - clangAST - clangLex - clangBasic - ) +) if(${CMAKE_SYSTEM_NAME} MATCHES "Darwin") # dylib versioning information # FIXME: Is there a more CMake-ish way to handle this? - set(LIBCLANG_VERSION 1 + set(LIBCLANG_VERSION 1 CACHE STRING "Version number of the libclang library") set(LIBCLANG_SUBVERSION 0 CACHE STRING "Minor version number of the libclang library") - set(LIBCLANG_LINK_FLAGS + set(LIBCLANG_LINK_FLAGS "-Wl,-current_version -Wl,${LIBCLANG_VERSION}.${LIBCLANG_SUBVERSION} -Wl,-compatibility_version -Wl,1") - set(LIBCLANG_LINK_FLAGS + set(LIBCLANG_LINK_FLAGS "${LIBCLANG_LINK_FLAGS} -Wl,-dead_strip -Wl,-seg1addr -Wl,0xE0000000") set_target_properties(libclang -- 2.40.0