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