CMakeLists.txt revision 746d99132bd05b189766836c393a92a96d019c2b
1set(SHARED_LIBRARY TRUE) 2 3set(LLVM_NO_RTTI 1) 4 5set(LLVM_USED_LIBS 6 clangFrontend 7 clangDriver 8 clangSema 9 clangAnalysis 10 clangAST 11 clangParse 12 clangLex 13 clangBasic) 14 15set( LLVM_LINK_COMPONENTS 16 bitreader 17 mc 18 core 19 ) 20 21add_clang_library(libclang 22 CIndex.cpp 23 CIndexCodeCompletion.cpp 24 CIndexDiagnostic.cpp 25 CIndexInclusionStack.cpp 26 CIndexUSRs.cpp 27 CIndexer.cpp 28 CXCursor.cpp 29 CXTypes.cpp 30 ../../include/clang-c/Index.h 31) 32set_target_properties(libclang PROPERTIES OUTPUT_NAME clang) 33 34if(${CMAKE_SYSTEM_NAME} MATCHES "Darwin") 35 # FIXME: Deal with LLVM_SUBMIT_VERSION? 36 37 # FIXME: This uses a special darwin-specific exports file in order to 38 # get underscore-prefixed names. It would be better to have build rules 39 # which know how to produce a darwin-suitable exports file from the 40 # regular exports file. 41 set_target_properties(libclang 42 PROPERTIES 43 LINK_FLAGS "-avoid-version -Wl,-exported_symbols_list -Wl,${CMAKE_CURRENT_SOURCE_DIR}/libclang.darwin.exports -Wl,-dead_strip -Wl,-seg1addr -Wl,0xE0000000" 44 INSTALL_NAME_DIR "@executable_path/../lib" 45 ) 46endif() 47 48if(MSVC) 49 # windows.h doesn't compile with /Za 50 get_target_property(NON_ANSI_COMPILE_FLAGS libclang COMPILE_FLAGS) 51 string(REPLACE /Za "" NON_ANSI_COMPILE_FLAGS ${NON_ANSI_COMPILE_FLAGS}) 52 set_target_properties(libclang PROPERTIES COMPILE_FLAGS ${NON_ANSI_COMPILE_FLAGS}) 53endif(MSVC) 54 55set_target_properties(libclang 56 PROPERTIES 57 LINKER_LANGUAGE CXX 58 DEFINE_SYMBOL _CINDEX_LIB_) 59