From: Chandler Carruth Date: Thu, 21 Jun 2012 01:30:21 +0000 (+0000) Subject: Remove a goofy CMake hack and use the standard CMake facilities to X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=b0d8671f95fe08a220118bca29063ba4d11a9dac;p=clang Remove a goofy CMake hack and use the standard CMake facilities to express library-level dependencies within Clang. This is no more verbose really, and plays nicer with the rest of the CMake facilities. It should also have no change in functionality. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@158888 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/CMakeLists.txt b/CMakeLists.txt index ebf5e418e3..dae9895eb6 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -192,7 +192,6 @@ macro(add_clang_library name) add_dependencies( ${name} ${LLVM_COMMON_DEPENDS} ) endif( LLVM_COMMON_DEPENDS ) - target_link_libraries( ${name} ${LLVM_USED_LIBS} ) llvm_config( ${name} ${LLVM_LINK_COMPONENTS} ) target_link_libraries( ${name} ${LLVM_COMMON_LIBS} ) link_system_libs( ${name} ) diff --git a/examples/PrintFunctionNames/CMakeLists.txt b/examples/PrintFunctionNames/CMakeLists.txt index 86793ce7e1..a31a8f69e7 100644 --- a/examples/PrintFunctionNames/CMakeLists.txt +++ b/examples/PrintFunctionNames/CMakeLists.txt @@ -1,14 +1,14 @@ set(MODULE TRUE) -set( LLVM_USED_LIBS - clangFrontend - clangAST - ) - set( LLVM_LINK_COMPONENTS support mc) add_clang_library(PrintFunctionNames PrintFunctionNames.cpp) +target_link_libraries(PrintFunctionNames + clangFrontend + clangAST + ) + set_target_properties(PrintFunctionNames PROPERTIES LINKER_LANGUAGE CXX diff --git a/examples/analyzer-plugin/CMakeLists.txt b/examples/analyzer-plugin/CMakeLists.txt index 2b9d82587f..9ad5cace80 100644 --- a/examples/analyzer-plugin/CMakeLists.txt +++ b/examples/analyzer-plugin/CMakeLists.txt @@ -1,13 +1,13 @@ set(MODULE TRUE) -set( LLVM_USED_LIBS - clangStaticAnalyzerCore - ) - set( LLVM_LINK_COMPONENTS support mc) add_clang_library(SampleAnalyzerPlugin MainCallChecker.cpp) +target_link_libraries(SampleAnalyzerPlugin + clangStaticAnalyzerCore + ) + set_target_properties(SampleAnalyzerPlugin PROPERTIES LINKER_LANGUAGE CXX diff --git a/examples/clang-interpreter/CMakeLists.txt b/examples/clang-interpreter/CMakeLists.txt index 809e324dbe..9abefc274b 100644 --- a/examples/clang-interpreter/CMakeLists.txt +++ b/examples/clang-interpreter/CMakeLists.txt @@ -1,34 +1,37 @@ -set(LLVM_USED_LIBS - clangFrontend - clangSerialization - clangDriver - clangCodeGen - clangSema - clangStaticAnalyzerFrontend - clangStaticAnalyzerCheckers - clangStaticAnalyzerCore - clangAnalysis - clangRewrite - clangAST - clangParse - clangLex - clangBasic - ) - set(LLVM_LINK_COMPONENTS - jit - interpreter - nativecodegen - asmparser - bitreader - bitwriter - codegen - ipo - linker - selectiondag + jit + interpreter + nativecodegen + asmparser + bitreader + bitwriter + codegen + ipo + linker + selectiondag ) add_clang_executable(clang-interpreter main.cpp ) -add_dependencies(clang-interpreter clang-headers) + +add_dependencies(clang-interpreter + clang-headers + ) + +target_link_libraries(clang-interpreter + clangFrontend + clangSerialization + clangDriver + clangCodeGen + clangSema + clangStaticAnalyzerFrontend + clangStaticAnalyzerCheckers + clangStaticAnalyzerCore + clangAnalysis + clangRewrite + clangAST + clangParse + clangLex + clangBasic + ) diff --git a/lib/ARCMigrate/CMakeLists.txt b/lib/ARCMigrate/CMakeLists.txt index fcb7f72ee2..6527e0fdfc 100644 --- a/lib/ARCMigrate/CMakeLists.txt +++ b/lib/ARCMigrate/CMakeLists.txt @@ -1,5 +1,3 @@ -set(LLVM_USED_LIBS clangBasic clangAST clangParse clangFrontend clangRewrite) - add_clang_library(clangARCMigrate ARCMT.cpp ARCMTActions.cpp @@ -27,3 +25,11 @@ add_dependencies(clangARCMigrate ClangAttrList ClangDeclNodes ClangStmtNodes) + +target_link_libraries(clangARCMigrate + clangBasic + clangAST + clangParse + clangFrontend + clangRewrite + ) diff --git a/lib/AST/CMakeLists.txt b/lib/AST/CMakeLists.txt index 6780944665..d8605367a7 100644 --- a/lib/AST/CMakeLists.txt +++ b/lib/AST/CMakeLists.txt @@ -1,7 +1,5 @@ set(LLVM_LINK_COMPONENTS support) -set(LLVM_USED_LIBS clangBasic clangLex) - add_clang_library(clangAST APValue.cpp ASTConsumer.cpp @@ -54,5 +52,17 @@ add_clang_library(clangAST VTTBuilder.cpp ) -add_dependencies(clangAST ClangARMNeon ClangAttrClasses ClangAttrList - ClangAttrImpl ClangDiagnosticAST ClangDeclNodes ClangStmtNodes) +add_dependencies(clangAST + ClangARMNeon + ClangAttrClasses + ClangAttrList + ClangAttrImpl + ClangDiagnosticAST + ClangDeclNodes + ClangStmtNodes + ) + +target_link_libraries(clangAST + clangBasic + clangLex + ) diff --git a/lib/Analysis/CMakeLists.txt b/lib/Analysis/CMakeLists.txt index ca2392b915..0a22792bf9 100644 --- a/lib/Analysis/CMakeLists.txt +++ b/lib/Analysis/CMakeLists.txt @@ -1,5 +1,3 @@ -set(LLVM_USED_LIBS clangBasic clangAST) - add_clang_library(clangAnalysis AnalysisDeclContext.cpp CallGraph.cpp @@ -20,5 +18,15 @@ add_clang_library(clangAnalysis UninitializedValues.cpp ) -add_dependencies(clangAnalysis ClangAttrClasses ClangAttrList - ClangDiagnosticAnalysis ClangDeclNodes ClangStmtNodes) +add_dependencies(clangAnalysis + ClangAttrClasses + ClangAttrList + ClangDiagnosticAnalysis + ClangDeclNodes + ClangStmtNodes + ) + +target_link_libraries(clangAnalysis + clangBasic + clangAST + ) diff --git a/lib/Basic/CMakeLists.txt b/lib/Basic/CMakeLists.txt index ff661fd70b..0169539736 100644 --- a/lib/Basic/CMakeLists.txt +++ b/lib/Basic/CMakeLists.txt @@ -32,18 +32,18 @@ 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 - ClangDiagnosticSerialization - ClangDiagnosticIndexName) - +add_dependencies(clangBasic + ClangARMNeon + ClangAttrList + ClangDiagnosticAnalysis + ClangDiagnosticAST + ClangDiagnosticCommon + ClangDiagnosticDriver + ClangDiagnosticFrontend + ClangDiagnosticGroups + ClangDiagnosticLex + ClangDiagnosticParse + ClangDiagnosticSema + ClangDiagnosticSerialization + ClangDiagnosticIndexName + ) diff --git a/lib/CodeGen/CMakeLists.txt b/lib/CodeGen/CMakeLists.txt index 7b1dbce1a8..b659436c43 100644 --- a/lib/CodeGen/CMakeLists.txt +++ b/lib/CodeGen/CMakeLists.txt @@ -8,8 +8,6 @@ set(LLVM_LINK_COMPONENTS vectorize ) -set(LLVM_USED_LIBS clangBasic clangAST clangFrontend) - add_clang_library(clangCodeGen BackendUtil.cpp CGBlocks.cpp @@ -52,5 +50,15 @@ add_clang_library(clangCodeGen TargetInfo.cpp ) -add_dependencies(clangCodeGen ClangAttrClasses ClangAttrList ClangDeclNodes - ClangStmtNodes) +add_dependencies(clangCodeGen + ClangAttrClasses + ClangAttrList + ClangDeclNodes + ClangStmtNodes + ) + +target_link_libraries(clangCodeGen + clangBasic + clangAST + clangFrontend + ) diff --git a/lib/Driver/CMakeLists.txt b/lib/Driver/CMakeLists.txt index a16b2ce69f..d4d8848cde 100644 --- a/lib/Driver/CMakeLists.txt +++ b/lib/Driver/CMakeLists.txt @@ -1,5 +1,3 @@ -set(LLVM_USED_LIBS clangBasic) - add_clang_library(clangDriver Action.cpp Arg.cpp @@ -20,6 +18,13 @@ add_clang_library(clangDriver Types.cpp ) +add_dependencies(clangDriver + ClangAttrList + ClangDiagnosticDriver + ClangDriverOptions + ClangCC1AsOptions + ) -add_dependencies(clangDriver ClangAttrList ClangDiagnosticDriver - ClangDriverOptions ClangCC1AsOptions) +target_link_libraries(clangDriver + clangBasic + ) diff --git a/lib/Edit/CMakeLists.txt b/lib/Edit/CMakeLists.txt index c87478cf7d..2bb63a71e0 100644 --- a/lib/Edit/CMakeLists.txt +++ b/lib/Edit/CMakeLists.txt @@ -1,7 +1,11 @@ -set(LLVM_USED_LIBS clangBasic clangAST clangLex) - add_clang_library(clangEdit Commit.cpp EditedSource.cpp RewriteObjCFoundationAPI.cpp ) + +target_link_libraries(clangEdit + clangBasic + clangAST + clangLex + ) diff --git a/lib/Frontend/CMakeLists.txt b/lib/Frontend/CMakeLists.txt index 6f61290c05..ff658e0248 100644 --- a/lib/Frontend/CMakeLists.txt +++ b/lib/Frontend/CMakeLists.txt @@ -1,14 +1,3 @@ -set( LLVM_USED_LIBS - clangAST - clangBasic - clangDriver - clangEdit - clangLex - clangParse - clangSema - clangSerialization - ) - add_clang_library(clangFrontend ASTConsumers.cpp ASTMerge.cpp @@ -41,7 +30,6 @@ add_clang_library(clangFrontend Warnings.cpp ) - add_dependencies(clangFrontend ClangAttrClasses ClangAttrList @@ -50,4 +38,16 @@ add_dependencies(clangFrontend ClangDiagnosticSema ClangDriverOptions ClangDeclNodes - ClangStmtNodes) + ClangStmtNodes + ) + +target_link_libraries(clangFrontend + clangAST + clangBasic + clangDriver + clangEdit + clangLex + clangParse + clangSema + clangSerialization + ) diff --git a/lib/FrontendTool/CMakeLists.txt b/lib/FrontendTool/CMakeLists.txt index b0060e925f..47cdf17f4a 100644 --- a/lib/FrontendTool/CMakeLists.txt +++ b/lib/FrontendTool/CMakeLists.txt @@ -1,10 +1,18 @@ -set(LLVM_USED_LIBS clangDriver clangFrontend clangRewrite clangCodeGen - clangStaticAnalyzerFrontend clangStaticAnalyzerCheckers clangStaticAnalyzerCore - clangARCMigrate) - add_clang_library(clangFrontendTool ExecuteCompilerInvocation.cpp ) add_dependencies(clangFrontendTool - ClangDiagnosticFrontend) + ClangDiagnosticFrontend + ) + +target_link_libraries(clangFrontendTool + clangDriver + clangFrontend + clangRewrite + clangCodeGen + clangStaticAnalyzerFrontend + clangStaticAnalyzerCheckers + clangStaticAnalyzerCore + clangARCMigrate + ) diff --git a/lib/Lex/CMakeLists.txt b/lib/Lex/CMakeLists.txt index 0a2ffdbf23..7399de11cb 100644 --- a/lib/Lex/CMakeLists.txt +++ b/lib/Lex/CMakeLists.txt @@ -2,8 +2,6 @@ set(LLVM_LINK_COMPONENTS support) -set(LLVM_USED_LIBS clangBasic) - add_clang_library(clangLex HeaderMap.cpp HeaderSearch.cpp @@ -28,4 +26,11 @@ add_clang_library(clangLex TokenLexer.cpp ) -add_dependencies(clangLex ClangDiagnosticLex ClangAttrSpellings) +add_dependencies(clangLex + ClangDiagnosticLex + ClangAttrSpellings + ) + +target_link_libraries(clangLex + clangBasic + ) diff --git a/lib/Parse/CMakeLists.txt b/lib/Parse/CMakeLists.txt index 6c980ced7e..0a69a7e1aa 100644 --- a/lib/Parse/CMakeLists.txt +++ b/lib/Parse/CMakeLists.txt @@ -1,5 +1,3 @@ -set(LLVM_USED_LIBS clangBasic clangAST clangLex clangSema) - add_clang_library(clangParse ParseAST.cpp ParseCXXInlineMethods.cpp @@ -16,4 +14,18 @@ add_clang_library(clangParse Parser.cpp ) -add_dependencies(clangParse ClangAttrClasses ClangAttrList ClangDeclNodes ClangDiagnosticParse ClangStmtNodes ClangAttrLateParsed) +add_dependencies(clangParse + ClangAttrClasses + ClangAttrList + ClangDeclNodes + ClangDiagnosticParse + ClangStmtNodes + ClangAttrLateParsed + ) + +target_link_libraries(clangParse + clangBasic + clangAST + clangLex + clangSema + ) diff --git a/lib/Rewrite/CMakeLists.txt b/lib/Rewrite/CMakeLists.txt index 091af9977f..daf9605834 100644 --- a/lib/Rewrite/CMakeLists.txt +++ b/lib/Rewrite/CMakeLists.txt @@ -1,5 +1,3 @@ -set(LLVM_USED_LIBS clangBasic clangAST clangParse clangFrontend) - add_clang_library(clangRewrite DeltaTree.cpp FixItRewriter.cpp @@ -20,4 +18,12 @@ add_dependencies(clangRewrite ClangAttrClasses ClangAttrList ClangDeclNodes - ClangStmtNodes) + ClangStmtNodes + ) + +target_link_libraries(clangRewrite + clangBasic + clangAST + clangParse + clangFrontend + ) diff --git a/lib/Sema/CMakeLists.txt b/lib/Sema/CMakeLists.txt index 07734c7c7b..b3ecaef2e7 100644 --- a/lib/Sema/CMakeLists.txt +++ b/lib/Sema/CMakeLists.txt @@ -1,11 +1,3 @@ -set(LLVM_USED_LIBS - clangAST - clangAnalysis - clangBasic - clangEdit - clangLex - ) - add_clang_library(clangSema AnalysisBasedWarnings.cpp AttributeList.cpp @@ -50,9 +42,22 @@ add_clang_library(clangSema TargetAttributesSema.cpp ) -add_dependencies(clangSema ClangARMNeon ClangAttrClasses ClangAttrList - ClangDiagnosticSema ClangDeclNodes ClangStmtNodes - ClangAttrTemplateInstantiate ClangAttrParsedAttrList - ClangAttrParsedAttrKinds) - +add_dependencies(clangSema + ClangARMNeon + ClangAttrClasses + ClangAttrList + ClangDiagnosticSema + ClangDeclNodes + ClangStmtNodes + ClangAttrTemplateInstantiate + ClangAttrParsedAttrList + ClangAttrParsedAttrKinds + ) +target_link_libraries(clangSema + clangAST + clangAnalysis + clangBasic + clangEdit + clangLex + ) diff --git a/lib/Serialization/CMakeLists.txt b/lib/Serialization/CMakeLists.txt index 04c5382d86..f5ade70024 100644 --- a/lib/Serialization/CMakeLists.txt +++ b/lib/Serialization/CMakeLists.txt @@ -1,5 +1,3 @@ -set(LLVM_USED_LIBS clangSema) - add_clang_library(clangSerialization ASTCommon.h ASTReaderInternals.h @@ -24,4 +22,9 @@ add_dependencies(clangSerialization ClangDiagnosticSema ClangDiagnosticSerialization ClangDeclNodes - ClangStmtNodes) + ClangStmtNodes + ) + +target_link_libraries(clangSerialization + clangSema + ) diff --git a/lib/StaticAnalyzer/Checkers/CMakeLists.txt b/lib/StaticAnalyzer/Checkers/CMakeLists.txt index 92e3278116..f121dd5705 100644 --- a/lib/StaticAnalyzer/Checkers/CMakeLists.txt +++ b/lib/StaticAnalyzer/Checkers/CMakeLists.txt @@ -3,8 +3,6 @@ clang_tablegen(Checkers.inc -gen-clang-sa-checkers SOURCE Checkers.td TARGET ClangSACheckers) -set(LLVM_USED_LIBS clangBasic clangAST clangStaticAnalyzerCore) - add_clang_library(clangStaticAnalyzerCheckers AdjustedReturnValueChecker.cpp AnalyzerStatsChecker.cpp @@ -79,3 +77,9 @@ add_dependencies(clangStaticAnalyzerCheckers ClangStmtNodes ClangSACheckers ) + +target_link_libraries(clangStaticAnalyzerCheckers + clangBasic + clangAST + clangStaticAnalyzerCore + ) diff --git a/lib/StaticAnalyzer/Core/CMakeLists.txt b/lib/StaticAnalyzer/Core/CMakeLists.txt index 23d1dcc10b..3da91788c6 100644 --- a/lib/StaticAnalyzer/Core/CMakeLists.txt +++ b/lib/StaticAnalyzer/Core/CMakeLists.txt @@ -1,7 +1,5 @@ set(LLVM_LINK_COMPONENTS support) -set(LLVM_USED_LIBS clangBasic clangLex clangAST clangFrontend clangRewrite) - add_clang_library(clangStaticAnalyzerCore AnalysisManager.cpp APSIntType.cpp @@ -42,5 +40,17 @@ add_clang_library(clangStaticAnalyzerCore TextPathDiagnostics.cpp ) -add_dependencies(clangStaticAnalyzerCore ClangAttrClasses ClangAttrList ClangDeclNodes - ClangStmtNodes) +add_dependencies(clangStaticAnalyzerCore + ClangAttrClasses + ClangAttrList + ClangDeclNodes + ClangStmtNodes + ) + +target_link_libraries(clangStaticAnalyzerCore + clangBasic + clangLex + clangAST + clangFrontend + clangRewrite + ) diff --git a/lib/StaticAnalyzer/Frontend/CMakeLists.txt b/lib/StaticAnalyzer/Frontend/CMakeLists.txt index bbcb085f84..d1f12a621f 100644 --- a/lib/StaticAnalyzer/Frontend/CMakeLists.txt +++ b/lib/StaticAnalyzer/Frontend/CMakeLists.txt @@ -1,8 +1,5 @@ set(LLVM_NO_RTTI 1) -set(LLVM_USED_LIBS clangBasic clangLex clangAST clangFrontend clangRewrite - clangStaticAnalyzerCheckers) - include_directories( ${CMAKE_CURRENT_BINARY_DIR}/../Checkers ) add_clang_library(clangStaticAnalyzerFrontend @@ -19,3 +16,12 @@ add_dependencies(clangStaticAnalyzerFrontend ClangDeclNodes ClangStmtNodes ) + +target_link_libraries(clangStaticAnalyzerFrontend + clangBasic + clangLex + clangAST + clangFrontend + clangRewrite + clangStaticAnalyzerCheckers + ) diff --git a/lib/Tooling/CMakeLists.txt b/lib/Tooling/CMakeLists.txt index aada61714d..303013f860 100644 --- a/lib/Tooling/CMakeLists.txt +++ b/lib/Tooling/CMakeLists.txt @@ -1,5 +1,4 @@ set(LLVM_LINK_COMPONENTS support) -SET(LLVM_USED_LIBS clangBasic clangFrontend clangAST clangRewrite) add_clang_library(clangTooling CompilationDatabase.cpp @@ -7,3 +6,10 @@ add_clang_library(clangTooling Tooling.cpp ArgumentsAdjusters.cpp ) + +target_link_libraries(clangTooling + clangBasic + clangFrontend + clangAST + clangRewrite + ) diff --git a/tools/arcmt-test/CMakeLists.txt b/tools/arcmt-test/CMakeLists.txt index a0029b416f..3528495acf 100644 --- a/tools/arcmt-test/CMakeLists.txt +++ b/tools/arcmt-test/CMakeLists.txt @@ -1,9 +1,3 @@ -set(LLVM_USED_LIBS - clangARCMigrate - clangEdit - clangRewrite - ) - set( LLVM_LINK_COMPONENTS support mc @@ -12,3 +6,9 @@ set( LLVM_LINK_COMPONENTS add_clang_executable(arcmt-test arcmt-test.cpp ) + +target_link_libraries(arcmt-test + clangARCMigrate + clangEdit + clangRewrite + ) diff --git a/tools/c-arcmt-test/CMakeLists.txt b/tools/c-arcmt-test/CMakeLists.txt index 351f4adca1..1e72261b21 100644 --- a/tools/c-arcmt-test/CMakeLists.txt +++ b/tools/c-arcmt-test/CMakeLists.txt @@ -1,5 +1,3 @@ -set(LLVM_USED_LIBS libclang) - set( LLVM_LINK_COMPONENTS support mc @@ -9,6 +7,10 @@ add_clang_executable(c-arcmt-test c-arcmt-test.c ) +target_link_libraries(c-arcmt-test + libclang + ) + set_target_properties(c-arcmt-test PROPERTIES LINKER_LANGUAGE CXX) diff --git a/tools/c-index-test/CMakeLists.txt b/tools/c-index-test/CMakeLists.txt index c44b34b820..743268cb51 100644 --- a/tools/c-index-test/CMakeLists.txt +++ b/tools/c-index-test/CMakeLists.txt @@ -1,5 +1,3 @@ -set(LLVM_USED_LIBS libclang) - set( LLVM_LINK_COMPONENTS support mc @@ -9,6 +7,10 @@ add_clang_executable(c-index-test c-index-test.c ) +target_link_libraries(c-index-test + libclang + ) + set_target_properties(c-index-test PROPERTIES LINKER_LANGUAGE CXX) diff --git a/tools/clang-check/CMakeLists.txt b/tools/clang-check/CMakeLists.txt index 851d6cdd16..9db8f1a552 100644 --- a/tools/clang-check/CMakeLists.txt +++ b/tools/clang-check/CMakeLists.txt @@ -1,5 +1,8 @@ -set(LLVM_USED_LIBS clangTooling clangBasic) - add_clang_executable(clang-check ClangCheck.cpp ) + +target_link_libraries(clang-check + clangTooling + clangBasic + ) diff --git a/tools/diagtool/CMakeLists.txt b/tools/diagtool/CMakeLists.txt index d2ad735337..6e2ae2d8cf 100644 --- a/tools/diagtool/CMakeLists.txt +++ b/tools/diagtool/CMakeLists.txt @@ -2,13 +2,6 @@ set( LLVM_LINK_COMPONENTS support ) -set( LLVM_USED_LIBS - clangBasic - clangLex - clangSema - clangFrontend - ) - add_clang_executable(diagtool diagtool_main.cpp DiagTool.cpp @@ -21,6 +14,13 @@ add_dependencies(diagtool ClangDiagnosticIndexName ) +target_link_libraries(diagtool + clangBasic + clangLex + clangSema + clangFrontend + ) + if(UNIX) set(CLANGXX_LINK_OR_COPY create_symlink) else() diff --git a/tools/driver/CMakeLists.txt b/tools/driver/CMakeLists.txt index ae49ac1eeb..be4b909489 100644 --- a/tools/driver/CMakeLists.txt +++ b/tools/driver/CMakeLists.txt @@ -1,4 +1,22 @@ -set( LLVM_USED_LIBS +set( LLVM_LINK_COMPONENTS + ${LLVM_TARGETS_TO_BUILD} + asmparser + bitreader + bitwriter + codegen + instrumentation + ipo + linker + selectiondag + ) + +add_clang_executable(clang + driver.cpp + cc1_main.cpp + cc1as_main.cpp + ) + +target_link_libraries(clang clangFrontendTool clangAST clangAnalysis @@ -19,24 +37,6 @@ set( LLVM_USED_LIBS clangStaticAnalyzerCore ) -set( LLVM_LINK_COMPONENTS - ${LLVM_TARGETS_TO_BUILD} - asmparser - bitreader - bitwriter - codegen - instrumentation - ipo - linker - selectiondag - ) - -add_clang_executable(clang - driver.cpp - cc1_main.cpp - cc1as_main.cpp - ) - set_target_properties(clang PROPERTIES VERSION ${CLANG_EXECUTABLE_VERSION}) if(UNIX) diff --git a/tools/libclang/CMakeLists.txt b/tools/libclang/CMakeLists.txt index 293dfa3ff9..a1090fb51f 100644 --- a/tools/libclang/CMakeLists.txt +++ b/tools/libclang/CMakeLists.txt @@ -1,15 +1,3 @@ -set(LLVM_USED_LIBS - clangARCMigrate - clangRewrite - clangFrontend - clangDriver - clangSerialization - clangSema - clangEdit - clangAST - clangLex - clangBasic) - set( LLVM_LINK_COMPONENTS support mc @@ -49,9 +37,23 @@ set(SOURCES ../../include/clang-c/Index.h ) +set(LIBRARIES + clangARCMigrate + clangRewrite + clangFrontend + clangDriver + clangSerialization + clangSema + clangEdit + clangAST + clangLex + clangBasic + ) + if( LLVM_ENABLE_PIC ) set(SHARED_LIBRARY TRUE) add_clang_library(libclang ${SOURCES}) + target_link_libraries(libclang ${LIBRARIES}) if(WIN32) set_target_properties(libclang @@ -84,6 +86,7 @@ endif() if( NOT BUILD_SHARED_LIBS AND NOT WIN32 ) add_clang_library(${LIBCLANG_STATIC_TARGET_NAME} STATIC ${SOURCES}) + target_link_libraries(${LIBCLANG_STATIC_TARGET_NAME} ${LIBRARIES}) set_target_properties(${LIBCLANG_STATIC_TARGET_NAME} PROPERTIES diff --git a/unittests/CMakeLists.txt b/unittests/CMakeLists.txt index ce66b21ab6..ecd4ef69b4 100644 --- a/unittests/CMakeLists.txt +++ b/unittests/CMakeLists.txt @@ -8,7 +8,6 @@ include(LLVMParseArguments) # 'basename(test_dirname)Tests'. function(add_clang_unittest) parse_arguments(CLANG_UNITTEST "USED_LIBS" "" ${ARGN}) - set(LLVM_USED_LIBS ${CLANG_UNITTEST_USED_LIBS}) list(GET CLANG_UNITTEST_DEFAULT_ARGS 0 test_dirname) list(REMOVE_AT CLANG_UNITTEST_DEFAULT_ARGS 0) @@ -24,6 +23,7 @@ function(add_clang_unittest) set(EXCLUDE_FROM_ALL ON) endif() add_clang_executable(${test_name}Tests ${CLANG_UNITTEST_DEFAULT_ARGS}) + target_link_libraries(${test_name}Tests ${CLANG_UNITTEST_USED_LIBS}) add_dependencies(ClangUnitTests ${test_name}Tests) set_target_properties(${test_name}Tests PROPERTIES FOLDER "Clang tests") endfunction()