CMakeLists.txt revision db29318326aba9e0c5c1bbba093687dccc38fc39
1set( LLVM_LINK_COMPONENTS 2 support 3 mc 4 ) 5 6set(SOURCES 7 ARCMigrate.cpp 8 CIndex.cpp 9 CIndexCXX.cpp 10 CIndexCodeCompletion.cpp 11 CIndexCompilationDB.cpp 12 CIndexDiagnostic.cpp 13 CIndexDiagnostic.h 14 CIndexHigh.cpp 15 CIndexInclusionStack.cpp 16 CIndexUSRs.cpp 17 CIndexer.cpp 18 CIndexer.h 19 CXCursor.cpp 20 CXCursor.h 21 CXLoadedDiagnostic.cpp 22 CXLoadedDiagnostic.h 23 CXSourceLocation.cpp 24 CXSourceLocation.h 25 CXStoredDiagnostic.cpp 26 CXString.cpp 27 CXString.h 28 CXTranslationUnit.h 29 CXType.cpp 30 CXType.h 31 IndexBody.cpp 32 IndexDecl.cpp 33 IndexTypeSourceInfo.cpp 34 Index_Internal.h 35 Indexing.cpp 36 IndexingContext.cpp 37 IndexingContext.h 38 ../../include/clang-c/Index.h 39 ) 40 41set(LIBRARIES 42 clangARCMigrate 43 clangRewrite 44 clangFrontend 45 clangDriver 46 clangSerialization 47 clangSema 48 clangEdit 49 clangAST 50 clangLex 51 clangTooling 52 clangBasic 53 ) 54 55if( LLVM_ENABLE_PIC ) 56 set(SHARED_LIBRARY TRUE) 57 add_clang_library(libclang ${SOURCES}) 58 target_link_libraries(libclang ${LIBRARIES}) 59 60 if(WIN32) 61 set_target_properties(libclang 62 PROPERTIES 63 OUTPUT_NAME "libclang" 64 VERSION ${LIBCLANG_LIBRARY_VERSION} 65 DEFINE_SYMBOL _CINDEX_LIB_) 66 else() 67 set_target_properties(libclang 68 PROPERTIES 69 OUTPUT_NAME "clang" 70 VERSION ${LIBCLANG_LIBRARY_VERSION} 71 DEFINE_SYMBOL _CINDEX_LIB_) 72 endif() 73 74 if(${CMAKE_SYSTEM_NAME} MATCHES "Darwin") 75 set(LIBCLANG_LINK_FLAGS 76 "-Wl,-compatibility_version -Wl,1 -Wl,-dead_strip") 77 set_target_properties(libclang 78 PROPERTIES 79 LINK_FLAGS "${LIBCLANG_LINK_FLAGS}" 80 INSTALL_NAME_DIR "@executable_path/../lib") 81 endif() 82 83 84 set(LIBCLANG_STATIC_TARGET_NAME libclang_static) 85else() 86 set(LIBCLANG_STATIC_TARGET_NAME libclang) 87endif() 88 89if( NOT BUILD_SHARED_LIBS AND NOT WIN32 ) 90 add_clang_library(${LIBCLANG_STATIC_TARGET_NAME} STATIC ${SOURCES}) 91 target_link_libraries(${LIBCLANG_STATIC_TARGET_NAME} ${LIBRARIES}) 92 93 set_target_properties(${LIBCLANG_STATIC_TARGET_NAME} 94 PROPERTIES 95 OUTPUT_NAME "clang") 96endif() 97