CMakeLists.txt revision cdb65d8724428664af7394451863b4aa6123f52b
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 ../../include/clang-c/Index.h 30) 31set_target_properties(libclang PROPERTIES OUTPUT_NAME clang) 32 33if(${CMAKE_SYSTEM_NAME} MATCHES "Darwin") 34 # FIXME: Deal with LLVM_SUBMIT_VERSION? 35 36 # FIXME: This uses a special darwin-specific exports file in order to 37 # get underscore-prefixed names. It would be better to have build rules 38 # which know how to produce a darwin-suitable exports file from the 39 # regular exports file. 40 set_target_properties(libclang 41 PROPERTIES 42 LINK_FLAGS "-avoid-version -Wl,-exported_symbols_list -Wl,${CMAKE_CURRENT_SOURCE_DIR}/libclang.darwin.exports -Wl,-dead_strip -Wl,-seg1addr -Wl,0xE0000000" 43 INSTALL_NAME_DIR "@executable_path/../lib" 44 ) 45endif() 46 47if(MSVC) 48 # windows.h doesn't compile with /Za 49 get_target_property(NON_ANSI_COMPILE_FLAGS libclang COMPILE_FLAGS) 50 string(REPLACE /Za "" NON_ANSI_COMPILE_FLAGS ${NON_ANSI_COMPILE_FLAGS}) 51 set_target_properties(libclang PROPERTIES COMPILE_FLAGS ${NON_ANSI_COMPILE_FLAGS}) 52endif(MSVC) 53 54set_target_properties(libclang 55 PROPERTIES 56 LINKER_LANGUAGE CXX 57 DEFINE_SYMBOL _CINDEX_LIB_) 58