aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CMakeLists.txt8
-rw-r--r--examples/PrintFunctionNames/CMakeLists.txt11
-rw-r--r--examples/clang-interpreter/CMakeLists.txt46
-rw-r--r--examples/wpa/CMakeLists.txt18
-rw-r--r--lib/AST/CMakeLists.txt17
-rw-r--r--lib/Analysis/CMakeLists.txt17
-rw-r--r--lib/Basic/CMakeLists.txt31
-rw-r--r--lib/Checker/CMakeLists.txt18
-rw-r--r--lib/CodeGen/CMakeLists.txt18
-rw-r--r--lib/Driver/CMakeLists.txt17
-rw-r--r--lib/Frontend/CMakeLists.txt27
-rw-r--r--lib/FrontendTool/CMakeLists.txt11
-rw-r--r--lib/Index/CMakeLists.txt36
-rw-r--r--lib/Lex/CMakeLists.txt10
-rw-r--r--lib/Parse/CMakeLists.txt17
-rw-r--r--lib/Rewrite/CMakeLists.txt12
-rw-r--r--lib/Sema/CMakeLists.txt16
-rw-r--r--lib/Serialization/CMakeLists.txt9
-rw-r--r--tools/c-index-test/CMakeLists.txt12
-rw-r--r--tools/driver/CMakeLists.txt32
-rw-r--r--tools/libclang/CMakeLists.txt39
21 files changed, 255 insertions, 167 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 1ba2a622d4..fdc7755de8 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -24,7 +24,7 @@ if( NOT CMAKE_SOURCE_DIR STREQUAL CMAKE_BINARY_DIR )
endif()
# Compute the Clang version from the LLVM version.
-string(REGEX MATCH "[0-9]+\\.[0-9]+(\\.[0-9]+)?" CLANG_VERSION
+string(REGEX MATCH "[0-9]+\\.[0-9]+(\\.[0-9]+)?" CLANG_VERSION
${PACKAGE_VERSION})
message(STATUS "Clang version: ${CLANG_VERSION}")
@@ -63,7 +63,7 @@ macro(add_clang_library name)
set(srcs ${srcs} ${headers})
string( REGEX MATCHALL "/[^/]+" split_path ${CMAKE_CURRENT_SOURCE_DIR})
list( GET split_path -1 dir)
- file( GLOB_RECURSE headers
+ file( GLOB_RECURSE headers
../../include/clang${dir}/*.h
../../include/clang${dir}/*.td
../../include/clang${dir}/*.def)
@@ -92,6 +92,9 @@ macro(add_clang_library name)
if( llvm_system_libs )
target_link_libraries(${name} ${llvm_system_libs})
endif( llvm_system_libs )
+ if (LLVM_COMMON_LIBS)
+ target_link_libraries(${name} ${LLVM_COMMON_LIBS})
+ endif()
add_dependencies(${name} ClangDiagnosticCommon)
if(MSVC)
get_target_property(cflag ${name} COMPILE_FLAGS)
@@ -102,6 +105,7 @@ 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 5ea75db42e..cea15bf934 100644
--- a/examples/PrintFunctionNames/CMakeLists.txt
+++ b/examples/PrintFunctionNames/CMakeLists.txt
@@ -2,7 +2,16 @@ set(MODULE TRUE)
set(LLVM_NO_RTTI 1)
-add_clang_library(PrintFunctionNames PrintFunctionNames.cpp)
+add_clang_library(PrintFunctionNames
+ PrintFunctionNames.cpp
+ )
+
+target_link_libraries(PrintFunctionNames
+ clangAST
+ clangFrontend
+ clangBasic
+ )
+
set_target_properties(PrintFunctionNames
PROPERTIES
diff --git a/examples/clang-interpreter/CMakeLists.txt b/examples/clang-interpreter/CMakeLists.txt
index 73f28bb7a2..c00874322e 100644
--- a/examples/clang-interpreter/CMakeLists.txt
+++ b/examples/clang-interpreter/CMakeLists.txt
@@ -1,34 +1,24 @@
set(LLVM_NO_RTTI 1)
-set(LLVM_USED_LIBS
- 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_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
+ )
+
add_dependencies(clang-interpreter clang-headers)
diff --git a/examples/wpa/CMakeLists.txt b/examples/wpa/CMakeLists.txt
index 13e4298c1f..b7d85cbbfd 100644
--- a/examples/wpa/CMakeLists.txt
+++ b/examples/wpa/CMakeLists.txt
@@ -1,6 +1,10 @@
set(LLVM_NO_RTTI 1)
-set(LLVM_USED_LIBS
+add_clang_executable(clang-wpa
+ clang-wpa.cpp
+ )
+
+target_link_libraries(clang-wpa
clangIndex
clangFrontend
clangDriver
@@ -12,15 +16,9 @@ set(LLVM_USED_LIBS
clangAST
clangParse
clangLex
- clangBasic)
-
-set( LLVM_LINK_COMPONENTS
- bitreader
- mc
- core
+ clangBasic
)
-add_clang_executable(clang-wpa
- clang-wpa.cpp
+add_dependencies(clang-wpa
+ clang-headers
)
-add_dependencies(clang-wpa clang-headers)
diff --git a/lib/AST/CMakeLists.txt b/lib/AST/CMakeLists.txt
index f56e6c41b0..9d2ee4fe72 100644
--- a/lib/AST/CMakeLists.txt
+++ b/lib/AST/CMakeLists.txt
@@ -1,7 +1,5 @@
set(LLVM_NO_RTTI 1)
-set(LLVM_USED_LIBS clangBasic)
-
add_clang_library(clangAST
APValue.cpp
ASTConsumer.cpp
@@ -44,5 +42,16 @@ add_clang_library(clangAST
TypePrinter.cpp
)
-add_dependencies(clangAST ClangARMNeon ClangAttrClasses ClangAttrList
- ClangAttrImpl ClangDiagnosticAST ClangDeclNodes ClangStmtNodes)
+target_link_libraries(clangAST
+ clangBasic
+ )
+
+add_dependencies(clangAST
+ ClangARMNeon
+ ClangAttrClasses
+ ClangAttrList
+ ClangAttrImpl
+ ClangDiagnosticAST
+ ClangDeclNodes
+ ClangStmtNodes
+ )
diff --git a/lib/Analysis/CMakeLists.txt b/lib/Analysis/CMakeLists.txt
index a2cfcfc4fa..f05bbedf0d 100644
--- a/lib/Analysis/CMakeLists.txt
+++ b/lib/Analysis/CMakeLists.txt
@@ -1,7 +1,5 @@
set(LLVM_NO_RTTI 1)
-set(LLVM_USED_LIBS clangBasic clangAST clangIndex)
-
add_clang_library(clangAnalysis
AnalysisContext.cpp
CFG.cpp
@@ -15,5 +13,16 @@ add_clang_library(clangAnalysis
UninitializedValues.cpp
)
-add_dependencies(clangAnalysis ClangAttrClasses ClangAttrList
- ClangDiagnosticAnalysis ClangDeclNodes ClangStmtNodes)
+target_link_libraries(clangAnalysis
+ clangBasic
+ clangAST
+ clangIndex
+ )
+
+add_dependencies(clangAnalysis
+ ClangAttrClasses
+ ClangAttrList
+ ClangDiagnosticAnalysis
+ ClangDeclNodes
+ ClangStmtNodes
+ )
diff --git a/lib/Basic/CMakeLists.txt b/lib/Basic/CMakeLists.txt
index 87bf834c27..d0ee682dc8 100644
--- a/lib/Basic/CMakeLists.txt
+++ b/lib/Basic/CMakeLists.txt
@@ -14,6 +14,10 @@ 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!
@@ -24,16 +28,17 @@ 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 e69808e48e..e4c9a809cc 100644
--- a/lib/Checker/CMakeLists.txt
+++ b/lib/Checker/CMakeLists.txt
@@ -1,7 +1,5 @@
set(LLVM_NO_RTTI 1)
-set(LLVM_USED_LIBS clangBasic clangLex clangAST clangFrontend clangRewrite)
-
add_clang_library(clangChecker
AdjustedReturnValueChecker.cpp
AggExprVisitor.cpp
@@ -84,5 +82,17 @@ add_clang_library(clangChecker
ValueManager.cpp
)
-add_dependencies(clangChecker ClangAttrClasses ClangAttrList ClangDeclNodes
- ClangStmtNodes)
+target_link_libraries(clangChecker
+ clangBasic
+ clangLex
+ clangAST
+ clangFrontend
+ clangRewrite
+ )
+
+add_dependencies(clangChecker
+ ClangAttrClasses
+ ClangAttrList
+ ClangDeclNodes
+ ClangStmtNodes
+ )
diff --git a/lib/CodeGen/CMakeLists.txt b/lib/CodeGen/CMakeLists.txt
index 1767a7d47b..7414e36ab3 100644
--- a/lib/CodeGen/CMakeLists.txt
+++ b/lib/CodeGen/CMakeLists.txt
@@ -1,7 +1,5 @@
set(LLVM_NO_RTTI 1)
-set(LLVM_USED_LIBS clangBasic clangAST clangFrontend)
-
add_clang_library(clangCodeGen
BackendUtil.cpp
CGBlocks.cpp
@@ -39,5 +37,17 @@ add_clang_library(clangCodeGen
TargetInfo.cpp
)
-add_dependencies(clangCodeGen ClangAttrClasses ClangAttrList ClangDeclNodes
- ClangStmtNodes)
+target_link_libraries(clangCodeGen
+ LLVMCore
+ LLVMAsmParser
+ LLVMBitReader
+ LLVMBitWriter
+ LLVMipo
+ )
+
+add_dependencies(clangCodeGen
+ ClangAttrClasses
+ ClangAttrList
+ ClangDeclNodes
+ ClangStmtNodes
+ )
diff --git a/lib/Driver/CMakeLists.txt b/lib/Driver/CMakeLists.txt
index 9d41b55981..9558c911b0 100644
--- a/lib/Driver/CMakeLists.txt
+++ b/lib/Driver/CMakeLists.txt
@@ -1,7 +1,5 @@
set(LLVM_NO_RTTI 1)
-set(LLVM_USED_LIBS clangBasic clangAST clangParse)
-
add_clang_library(clangDriver
Action.cpp
Arg.cpp
@@ -23,5 +21,16 @@ add_clang_library(clangDriver
Types.cpp
)
-add_dependencies(clangDriver ClangAttrList ClangDiagnosticDriver
- ClangDriverOptions ClangCC1Options ClangCC1AsOptions)
+target_link_libraries(clangDriver
+ clangBasic
+ clangAST
+ clangParse
+ )
+
+add_dependencies(clangDriver
+ ClangAttrList
+ ClangDiagnosticDriver
+ ClangDriverOptions
+ ClangCC1Options
+ ClangCC1AsOptions
+ )
diff --git a/lib/Frontend/CMakeLists.txt b/lib/Frontend/CMakeLists.txt
index ca8fbcf5f9..6d7d728001 100644
--- a/lib/Frontend/CMakeLists.txt
+++ b/lib/Frontend/CMakeLists.txt
@@ -1,14 +1,5 @@
set(LLVM_NO_RTTI 1)
-set( LLVM_USED_LIBS
- clangDriver
- clangParse
- clangSema
- clangAST
- clangLex
- clangBasic
- )
-
add_clang_library(clangFrontend
ASTConsumers.cpp
ASTMerge.cpp
@@ -36,6 +27,17 @@ 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
@@ -44,12 +46,13 @@ 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 09d9e3419d..3790ba734b 100644
--- a/lib/FrontendTool/CMakeLists.txt
+++ b/lib/FrontendTool/CMakeLists.txt
@@ -1,8 +1,13 @@
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 bbe9b567ac..7ad106e5d2 100644
--- a/lib/Index/CMakeLists.txt
+++ b/lib/Index/CMakeLists.txt
@@ -1,8 +1,20 @@
set(LLVM_NO_RTTI 1)
-set(LLVM_USED_LIBS clangBasic clangLex clangAST)
+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
+target_link_libraries(clangIndex
clangSerialization
clangFrontend
clangParse
@@ -16,19 +28,9 @@ set( LLVM_USED_LIBS
clangBasic
)
-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
)
-
-add_dependencies(clangIndex ClangAttrClasses ClangAttrList
- ClangDeclNodes ClangStmtNodes)
diff --git a/lib/Lex/CMakeLists.txt b/lib/Lex/CMakeLists.txt
index 0476384eff..3c23644149 100644
--- a/lib/Lex/CMakeLists.txt
+++ b/lib/Lex/CMakeLists.txt
@@ -2,8 +2,6 @@ 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
@@ -26,4 +24,10 @@ add_clang_library(clangLex
TokenLexer.cpp
)
-add_dependencies(clangLex ClangDiagnosticLex)
+target_link_libraries(clangLex
+ clangBasic
+ )
+
+add_dependencies(clangLex
+ ClangDiagnosticLex
+ )
diff --git a/lib/Parse/CMakeLists.txt b/lib/Parse/CMakeLists.txt
index 5b75a668a4..a84cf51f7b 100644
--- a/lib/Parse/CMakeLists.txt
+++ b/lib/Parse/CMakeLists.txt
@@ -1,7 +1,5 @@
set(LLVM_NO_RTTI 1)
-set(LLVM_USED_LIBS clangBasic clangAST clangLex clangSema)
-
add_clang_library(clangParse
ParseAST.cpp
ParseCXXInlineMethods.cpp
@@ -18,4 +16,17 @@ add_clang_library(clangParse
Parser.cpp
)
-add_dependencies(clangParse ClangAttrClasses ClangAttrList ClangDeclNodes ClangDiagnosticParse ClangStmtNodes)
+target_link_libraries(clangParse
+ clangBasic
+ clangAST
+ clangLex
+ clangSema
+ )
+
+add_dependencies(clangParse
+ ClangAttrClasses
+ ClangAttrList
+ ClangDeclNodes
+ ClangDiagnosticParse
+ ClangStmtNodes
+ )
diff --git a/lib/Rewrite/CMakeLists.txt b/lib/Rewrite/CMakeLists.txt
index 853a9c0b12..0f2c6f219b 100644
--- a/lib/Rewrite/CMakeLists.txt
+++ b/lib/Rewrite/CMakeLists.txt
@@ -1,7 +1,5 @@
set(LLVM_NO_RTTI 1)
-set(LLVM_USED_LIBS clangBasic clangAST clangParse clangFrontend)
-
add_clang_library(clangRewrite
DeltaTree.cpp
FixItRewriter.cpp
@@ -16,8 +14,16 @@ 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 c220e90c12..d3a52613b6 100644
--- a/lib/Sema/CMakeLists.txt
+++ b/lib/Sema/CMakeLists.txt
@@ -1,7 +1,5 @@
set(LLVM_NO_RTTI 1)
-set(LLVM_USED_LIBS clangBasic clangAST clangLex clangAnalysis)
-
add_clang_library(clangSema
AnalysisBasedWarnings.cpp
AttributeList.cpp
@@ -37,5 +35,15 @@ add_clang_library(clangSema
TargetAttributesSema.cpp
)
-add_dependencies(clangSema ClangARMNeon ClangAttrClasses ClangAttrList
- ClangDiagnosticSema ClangDeclNodes ClangStmtNodes)
+target_link_libraries(clangSema
+ clangAnalysis
+ )
+
+add_dependencies(clangSema
+ ClangARMNeon
+ ClangAttrClasses
+ ClangAttrList
+ ClangDiagnosticSema
+ ClangDeclNodes
+ ClangStmtNodes
+ )
diff --git a/lib/Serialization/CMakeLists.txt b/lib/Serialization/CMakeLists.txt
index a3782180b3..f1bf1f90a1 100644
--- a/lib/Serialization/CMakeLists.txt
+++ b/lib/Serialization/CMakeLists.txt
@@ -1,7 +1,5 @@
set(LLVM_NO_RTTI 1)
-set(LLVM_USED_LIBS clangFrontend)
-
add_clang_library(clangSerialization
GeneratePCH.cpp
ASTCommon.cpp
@@ -13,6 +11,10 @@ add_clang_library(clangSerialization
ASTWriterStmt.cpp
)
+target_link_libraries(clangSerialization
+ clangFrontend
+ )
+
add_dependencies(clangSerialization
ClangAttrClasses
ClangAttrList
@@ -22,4 +24,5 @@ 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 0cda6c4a31..149b70ae43 100644
--- a/tools/c-index-test/CMakeLists.txt
+++ b/tools/c-index-test/CMakeLists.txt
@@ -1,17 +1,13 @@
set(LLVM_NO_RTTI 1)
-set(LLVM_USED_LIBS libclang)
-
-set( LLVM_LINK_COMPONENTS
- bitreader
- mc
- core
- )
-
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/driver/CMakeLists.txt b/tools/driver/CMakeLists.txt
index ec6e9c6e80..8529700a8a 100644
--- a/tools/driver/CMakeLists.txt
+++ b/tools/driver/CMakeLists.txt
@@ -1,6 +1,20 @@
set(LLVM_NO_RTTI 1)
-set( LLVM_USED_LIBS
+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
+
clangFrontendTool
clangFrontend
clangDriver
@@ -17,22 +31,6 @@ set( LLVM_USED_LIBS
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 9a2a2a63cf..fc7f41aeaa 100644
--- a/tools/libclang/CMakeLists.txt
+++ b/tools/libclang/CMakeLists.txt
@@ -2,22 +2,6 @@ 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
@@ -29,19 +13,34 @@ 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