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