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