6 CIndexCodeCompletion.cpp
9 CIndexInclusionStack.cpp
14 CXIndexDataConsumer.cpp
15 CXCompilationDatabase.cpp
16 CXLoadedDiagnostic.cpp
18 CXStoredDiagnostic.cpp
33 ../../include/clang-c/Index.h
46 if (CLANG_ENABLE_ARCMT)
47 list(APPEND LIBS clangARCMigrate)
50 if (TARGET clangTidyPlugin)
51 add_definitions(-DCLANG_TOOL_EXTRA_BUILD)
52 list(APPEND LIBS clangTidyPlugin)
53 list(APPEND LIBS clangIncludeFixerPlugin)
56 find_library(DL_LIBRARY_PATH dl)
61 option(LIBCLANG_BUILD_STATIC
62 "Build libclang as a static library (in addition to a shared one)" OFF)
64 set(LLVM_EXPORTED_SYMBOL_FILE ${CMAKE_CURRENT_SOURCE_DIR}/libclang.exports)
67 # Avoid LNK4197 not to spceify libclang.def here.
68 # Each functions is exported as "dllexport" in include/clang-c.
70 set(LLVM_EXPORTED_SYMBOL_FILE)
74 set(ENABLE_SHARED SHARED)
77 if((NOT LLVM_ENABLE_PIC OR LIBCLANG_BUILD_STATIC) AND NOT WIN32)
78 set(ENABLE_STATIC STATIC)
82 set(output_name "libclang")
84 set(output_name "clang")
87 add_clang_library(libclang ${ENABLE_SHARED} ${ENABLE_STATIC}
88 OUTPUT_NAME ${output_name}
96 ${LLVM_TARGETS_TO_BUILD}
103 set_target_properties(libclang
105 VERSION ${LIBCLANG_LIBRARY_VERSION}
106 DEFINE_SYMBOL _CINDEX_LIB_)
108 set(LIBCLANG_LINK_FLAGS " -Wl,-compatibility_version -Wl,1")
109 set(LIBCLANG_LINK_FLAGS "${LIBCLANG_LINK_FLAGS} -Wl,-current_version -Wl,${LLVM_VERSION_MAJOR}.${LLVM_VERSION_MINOR}.${LLVM_VERSION_PATCH}")
111 set_property(TARGET libclang APPEND_STRING PROPERTY
112 LINK_FLAGS ${LIBCLANG_LINK_FLAGS})
114 set_target_properties(libclang
116 VERSION ${LIBCLANG_LIBRARY_VERSION}
117 DEFINE_SYMBOL _CINDEX_LIB_)
121 if(INTERNAL_INSTALL_PREFIX)
122 set(LIBCLANG_HEADERS_INSTALL_DESTINATION "${INTERNAL_INSTALL_PREFIX}/include")
124 set(LIBCLANG_HEADERS_INSTALL_DESTINATION include)
127 install(DIRECTORY ../../include/clang-c
128 COMPONENT libclang-headers
129 DESTINATION "${LIBCLANG_HEADERS_INSTALL_DESTINATION}"
132 PATTERN ".svn" EXCLUDE
135 if (NOT CMAKE_CONFIGURATION_TYPES) # don't add this for IDE's.
136 add_custom_target(install-libclang-headers
138 COMMAND "${CMAKE_COMMAND}"
139 -DCMAKE_INSTALL_COMPONENT=libclang-headers
140 -P "${CMAKE_BINARY_DIR}/cmake_install.cmake")