CMakeLists.txt revision 1a5d421c26e3dffce9dfc1aeca846167d7bb4068
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 ../../include/clang-c/Index.h 42 ) 43 44set(LIBRARIES 45 clangARCMigrate 46 clangRewrite 47 clangFrontend 48 clangDriver 49 clangSerialization 50 clangSema 51 clangEdit 52 clangAST 53 clangLex 54 clangTooling 55 clangBasic 56 ) 57 58set(GENERATED_HEADERS 59 ClangAttrClasses 60 ClangAttrList 61 ClangAttrParsedAttrList 62 ClangCommentNodes 63 ClangDiagnosticCommon 64 ClangDiagnosticFrontend 65 ClangDeclNodes 66 ClangStmtNodes 67 ) 68 69if( LLVM_ENABLE_PIC ) 70 set(SHARED_LIBRARY TRUE) 71 add_clang_library(libclang ${SOURCES}) 72 target_link_libraries(libclang ${LIBRARIES}) 73 add_dependencies(libclang ${GENERATED_HEADERS}) 74 75 if(WIN32) 76 set_target_properties(libclang 77 PROPERTIES 78 OUTPUT_NAME "libclang" 79 VERSION ${LIBCLANG_LIBRARY_VERSION} 80 DEFINE_SYMBOL _CINDEX_LIB_) 81 else() 82 set_target_properties(libclang 83 PROPERTIES 84 OUTPUT_NAME "clang" 85 VERSION ${LIBCLANG_LIBRARY_VERSION} 86 DEFINE_SYMBOL _CINDEX_LIB_) 87 endif() 88 89 if(${CMAKE_SYSTEM_NAME} MATCHES "Darwin") 90 set(LIBCLANG_LINK_FLAGS 91 "-Wl,-compatibility_version -Wl,1 -Wl,-dead_strip") 92 set_target_properties(libclang 93 PROPERTIES 94 LINK_FLAGS "${LIBCLANG_LINK_FLAGS}" 95 INSTALL_NAME_DIR "@executable_path/../lib") 96 endif() 97 98 99 set(LIBCLANG_STATIC_TARGET_NAME libclang_static) 100else() 101 set(LIBCLANG_STATIC_TARGET_NAME libclang) 102endif() 103 104if( NOT BUILD_SHARED_LIBS AND NOT WIN32 ) 105 add_clang_library(${LIBCLANG_STATIC_TARGET_NAME} STATIC ${SOURCES}) 106 target_link_libraries(${LIBCLANG_STATIC_TARGET_NAME} ${LIBRARIES}) 107 add_dependencies(${LIBCLANG_STATIC_TARGET_NAME} ${GENERATED_HEADERS}) 108 109 set_target_properties(${LIBCLANG_STATIC_TARGET_NAME} 110 PROPERTIES 111 OUTPUT_NAME "clang") 112endif() 113