blob: a3ff3db2d9b5a0a851fc8fa5a1d7952dabac5bd5 [file] [log] [blame]
Douglas Gregorac47bc72009-09-25 06:35:15 +00001set(SHARED_LIBRARY TRUE)
2
3set(LLVM_NO_RTTI 1)
4
5set(LLVM_USED_LIBS
Daniel Dunbar467f0302009-12-02 21:47:55 +00006 clangIndex
7 clangFrontend
8 clangDriver
9 clangSema
10 clangAnalysis
11 clangAST
12 clangParse
13 clangLex
14 clangBasic)
Douglas Gregorac47bc72009-09-25 06:35:15 +000015
16set( LLVM_LINK_COMPONENTS
Daniel Dunbar467f0302009-12-02 21:47:55 +000017 bitreader
18 mc
19 core
Douglas Gregorac47bc72009-09-25 06:35:15 +000020 )
21
22add_clang_library(CIndex CIndex.cpp)
23
24if(${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
25 # FIXME: Deal with LLVM_SUBMIT_VERSION?
26
27 set_target_properties(CIndex
28 PROPERTIES
29 LINK_FLAGS "-avoid-version -Wl,-exported_symbols_list -Wl,${CMAKE_CURRENT_SOURCE_DIR}/CIndex.exports -Wl,-dead_strip -Wl,-seg1addr -Wl,0xE0000000"
30 INSTALL_NAME_DIR "@executable_path/../lib"
31 )
32endif()
Douglas Gregor25888302009-10-05 22:25:29 +000033
Benjamin Kramer63444b32009-10-18 19:59:44 +000034if(MSVC)
35 # windows.h doesn't compile with /Za
36 get_target_property(NON_ANSI_COMPILE_FLAGS CIndex COMPILE_FLAGS)
37 string(REPLACE /Za "" NON_ANSI_COMPILE_FLAGS ${NON_ANSI_COMPILE_FLAGS})
John Thompson2e06fc82009-10-27 13:42:56 +000038 set(NON_ANSI_COMPILE_FLAGS "${NON_ANSI_COMPILE_FLAGS} /D_CINDEX_LIB_")
Benjamin Kramer63444b32009-10-18 19:59:44 +000039 set_target_properties(CIndex PROPERTIES COMPILE_FLAGS ${NON_ANSI_COMPILE_FLAGS})
40endif(MSVC)
41
Douglas Gregor25888302009-10-05 22:25:29 +000042set_target_properties(CIndex
43 PROPERTIES
44 LINKER_LANGUAGE CXX)