CMakeLists.txt revision 685d78d0da52f611b09e728f73e83999fabaa463
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  CXCompilationDatabase.cpp
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