CMakeLists.txt revision ae99b75fbbac1deaccdcc1b326b8fb6b07a1e72d
1set( LLVM_LINK_COMPONENTS
2  support
3  mc
4  )
5
6set(SOURCES
7  ARCMigrate.cpp
8  CIndex.cpp
9  CIndexCXX.cpp
10  CIndexCodeCompletion.cpp
11  CIndexDiagnostic.cpp
12  CIndexDiagnostic.h
13  CIndexHigh.cpp
14  CIndexInclusionStack.cpp
15  CIndexUSRs.cpp
16  CIndexer.cpp
17  CIndexer.h
18  CXComment.cpp
19  CXCursor.cpp
20  CXCursor.h
21  CXCompilationDatabase.cpp
22  CXLoadedDiagnostic.cpp
23  CXLoadedDiagnostic.h
24  CXSourceLocation.cpp
25  CXSourceLocation.h
26  CXStoredDiagnostic.cpp
27  CXString.cpp
28  CXString.h
29  CXTranslationUnit.h
30  CXType.cpp
31  CXType.h
32  IndexBody.cpp
33  IndexDecl.cpp
34  IndexTypeSourceInfo.cpp
35  Index_Internal.h
36  Indexing.cpp
37  IndexingContext.cpp
38  IndexingContext.h
39  ../../include/clang-c/Index.h
40  )
41
42set(LIBRARIES
43  clangARCMigrate
44  clangRewrite
45  clangFrontend
46  clangDriver
47  clangSerialization
48  clangSema
49  clangEdit
50  clangAST
51  clangLex
52  clangTooling
53  clangBasic
54  )
55
56if( LLVM_ENABLE_PIC )
57  set(SHARED_LIBRARY TRUE)
58  add_clang_library(libclang ${SOURCES})
59  target_link_libraries(libclang ${LIBRARIES})
60
61  if(WIN32)
62    set_target_properties(libclang
63      PROPERTIES
64      OUTPUT_NAME "libclang"
65      VERSION ${LIBCLANG_LIBRARY_VERSION}
66      DEFINE_SYMBOL _CINDEX_LIB_)
67  else()
68    set_target_properties(libclang
69      PROPERTIES
70      OUTPUT_NAME "clang"
71      VERSION ${LIBCLANG_LIBRARY_VERSION}
72      DEFINE_SYMBOL _CINDEX_LIB_)
73  endif()
74
75  if(${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
76    set(LIBCLANG_LINK_FLAGS
77      "-Wl,-compatibility_version -Wl,1 -Wl,-dead_strip")
78    set_target_properties(libclang
79      PROPERTIES
80      LINK_FLAGS "${LIBCLANG_LINK_FLAGS}"
81      INSTALL_NAME_DIR "@executable_path/../lib")
82  endif()
83
84
85  set(LIBCLANG_STATIC_TARGET_NAME libclang_static)
86else()
87  set(LIBCLANG_STATIC_TARGET_NAME libclang)
88endif()
89
90if( NOT BUILD_SHARED_LIBS AND NOT WIN32 )
91  add_clang_library(${LIBCLANG_STATIC_TARGET_NAME} STATIC ${SOURCES})
92  target_link_libraries(${LIBCLANG_STATIC_TARGET_NAME} ${LIBRARIES})
93
94  set_target_properties(${LIBCLANG_STATIC_TARGET_NAME}
95    PROPERTIES
96    OUTPUT_NAME "clang")
97endif()
98