CMakeLists.txt revision ba45fabfce6b7ceec4966932b166755eac77d9fb
1set(LLVM_USED_LIBS 2 clangFrontend 3 clangDriver 4 clangSerialization 5 clangIndex 6 clangSema 7 clangAnalysis 8 clangRewrite 9 clangAST 10 clangLex 11 clangBasic) 12 13set( LLVM_LINK_COMPONENTS 14 support 15 mc 16 ) 17 18set(SOURCES 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 30 ) 31 32if( LLVM_ENABLE_PIC ) 33 set(SHARED_LIBRARY TRUE) 34 add_clang_library(libclang ${SOURCES}) 35 36 set_target_properties(libclang 37 PROPERTIES 38 OUTPUT_NAME "libclang" 39 VERSION ${LIBCLANG_LIBRARY_VERSION} 40 DEFINE_SYMBOL _CINDEX_LIB_) 41 42 if(${CMAKE_SYSTEM_NAME} MATCHES "Darwin") 43 set(LIBCLANG_LINK_FLAGS 44 "-Wl,-compatibility_version -Wl,1 -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() 50 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 56 COMPILE_FLAGS ${NON_ANSI_COMPILE_FLAGS}) 57 endif() 58 59 set(LIBCLANG_STATIC_TARGET_NAME libclang_static) 60else() 61 set(LIBCLANG_STATIC_TARGET_NAME libclang) 62endif() 63 64if( NOT BUILD_SHARED_LIBS AND NOT WIN32 ) 65 add_clang_library(${LIBCLANG_STATIC_TARGET_NAME} STATIC ${SOURCES}) 66 67 set_target_properties(${LIBCLANG_STATIC_TARGET_NAME} 68 PROPERTIES 69 OUTPUT_NAME "libclang") 70endif() 71