[Heikki Kultala] This patch contains the ABI changes for the TCE target.
[clang.git] / tools / libclang / CMakeLists.txt
blobda72f5a02d01a9e683dc4bc90310063e4afd4f1a
1 set(SHARED_LIBRARY TRUE)
3 set(LLVM_USED_LIBS
4   clangFrontend
5   clangDriver
6   clangSerialization
7   clangIndex
8   clangSema
9   clangAST
10   clangLex
11   clangBasic)
13 set( LLVM_LINK_COMPONENTS
14   support
15   mc
16   )
18 add_clang_library(libclang
19   CIndex.cpp
20   CIndexCXX.cpp
21   CIndexCodeCompletion.cpp
22   CIndexDiagnostic.cpp
23   CIndexInclusionStack.cpp
24   CIndexUSRs.cpp
25   CIndexer.cpp
26   CXCursor.cpp
27   CXString.cpp
28   CXType.cpp
29   ../../include/clang-c/Index.h
32 if(${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
33   # dylib versioning information
34   # FIXME: Is there a more CMake-ish way to handle this?
35   set(LIBCLANG_VERSION 1 
36       CACHE STRING "Version number of the libclang library")
37   set(LIBCLANG_SUBVERSION 0
38       CACHE STRING "Minor version number of the libclang library")
39   set(LIBCLANG_LINK_FLAGS 
40       "-Wl,-current_version -Wl,${LIBCLANG_VERSION}.${LIBCLANG_SUBVERSION} -Wl,-compatibility_version -Wl,1")
42   set(LIBCLANG_LINK_FLAGS 
43       "${LIBCLANG_LINK_FLAGS} -Wl,-dead_strip -Wl,-seg1addr -Wl,0xE0000000")
45   set_target_properties(libclang
46     PROPERTIES
47     LINK_FLAGS "${LIBCLANG_LINK_FLAGS}"
48     INSTALL_NAME_DIR "@executable_path/../lib")
49 endif()
51 if(MSVC)
52   # windows.h doesn't compile with /Za
53   get_target_property(NON_ANSI_COMPILE_FLAGS libclang COMPILE_FLAGS)
54   string(REPLACE /Za "" NON_ANSI_COMPILE_FLAGS ${NON_ANSI_COMPILE_FLAGS})
55   set_target_properties(libclang PROPERTIES COMPILE_FLAGS ${NON_ANSI_COMPILE_FLAGS})
56 endif(MSVC)
58 set_target_properties(libclang
59   PROPERTIES
60   PREFIX ""  # Otherwise we get liblibclang.so
61   LINKER_LANGUAGE CXX
62   DEFINE_SYMBOL _CINDEX_LIB_)