CMakeLists.txt revision 685d78d0da52f611b09e728f73e83999fabaa463
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 CXCursor.cpp 19 CXCursor.h 20 CXCompilationDatabase.cpp 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