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