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