CMakeLists.txt revision 12161968f3bcb7bb1053d2da36ac066d795ba7dd
1f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)set(LLVM_LINK_COMPONENTS 2f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) ${LLVM_TARGETS_TO_BUILD} 3f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) asmparser 4f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) support 5f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) bitreader 6f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) mc 7116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch ) 8116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 9116680a4aac90f2aa7413d9095a592090648e557Ben Murdochset(SOURCES 10f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) ARCMigrate.cpp 115d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) CIndex.cpp 12f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) CIndexCXX.cpp 13116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch CIndexCodeCompletion.cpp 14f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) CIndexDiagnostic.cpp 155d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) CIndexDiagnostic.h 16116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch CIndexHigh.cpp 17116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch CIndexInclusionStack.cpp 18116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch CIndexUSRs.cpp 19f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) CIndexer.cpp 20116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch CIndexer.h 215c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu CXComment.cpp 22116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch CXCursor.cpp 23116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch CXCursor.h 245d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) CXCompilationDatabase.cpp 25f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) CXLoadedDiagnostic.cpp 26f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) CXLoadedDiagnostic.h 27f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) CXSourceLocation.cpp 28116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch CXSourceLocation.h 29116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch CXStoredDiagnostic.cpp 30f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) CXString.cpp 31116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch CXString.h 32116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch CXTranslationUnit.h 33f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) CXType.cpp 34116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch CXType.h 35f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) IndexBody.cpp 36f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) IndexDecl.cpp 37f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) IndexTypeSourceInfo.cpp 385d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) Index_Internal.h 39116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch Indexing.cpp 40116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch IndexingContext.cpp 41116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch IndexingContext.h 42116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch SimpleFormatContext.h 43116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch ../../include/clang-c/Index.h 44116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch ) 45116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 46116680a4aac90f2aa7413d9095a592090648e557Ben Murdochset(LIBRARIES 47f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) clangIDE 48f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) clangARCMigrate 49f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) clangRewriteCore 50f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) clangRewriteFrontend 51f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) clangFrontend 52f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) clangDriver 53f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) clangSerialization 54f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) clangSema 55f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) clangEdit 56f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) clangAST 57f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) clangLex 58f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) clangTooling 59010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) clangBasic 60f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) clangFormat 61f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) ) 62116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 63116680a4aac90f2aa7413d9095a592090648e557Ben Murdochset(GENERATED_HEADERS 64116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch ClangAttrClasses 65116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch ClangAttrList 66116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch ClangAttrParsedAttrList 67116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch ClangCommentNodes 68116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch ClangDiagnosticCommon 69116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch ClangDiagnosticFrontend 70116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch ClangDeclNodes 71116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch ClangStmtNodes 72116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch ) 73116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 74116680a4aac90f2aa7413d9095a592090648e557Ben Murdochif( LLVM_ENABLE_PIC ) 75116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch set(SHARED_LIBRARY TRUE) 76116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch add_clang_library(libclang ${SOURCES}) 77116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch target_link_libraries(libclang ${LIBRARIES}) 78116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch add_dependencies(libclang ${GENERATED_HEADERS} clang-headers) 79116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 80116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch if(WIN32) 81116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch set_target_properties(libclang 82116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch PROPERTIES 83116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch OUTPUT_NAME "libclang" 84116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch VERSION ${LIBCLANG_LIBRARY_VERSION} 85116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch DEFINE_SYMBOL _CINDEX_LIB_) 86116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch else() 87116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch set_target_properties(libclang 88f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) PROPERTIES 89f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) OUTPUT_NAME "clang" 90f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) VERSION ${LIBCLANG_LIBRARY_VERSION} 91116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch DEFINE_SYMBOL _CINDEX_LIB_) 92116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch endif() 93116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 94116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch if(${CMAKE_SYSTEM_NAME} MATCHES "Darwin") 95116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch set(LIBCLANG_LINK_FLAGS 96116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch "-Wl,-compatibility_version -Wl,1 -Wl,-dead_strip") 97116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch set_target_properties(libclang 98f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) PROPERTIES 99f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) LINK_FLAGS "${LIBCLANG_LINK_FLAGS}" 100f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) INSTALL_NAME_DIR "@executable_path/../lib") 101116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch endif() 102f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) 103f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) 104f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) set(LIBCLANG_STATIC_TARGET_NAME libclang_static) 105f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)else() 106f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) set(LIBCLANG_STATIC_TARGET_NAME libclang) 107f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)endif() 108f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) 109f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)option(LIBCLANG_BUILD_STATIC 110f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) "Build libclang as a static library (in addition to a shared one)" OFF) 111f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) 112116680a4aac90f2aa7413d9095a592090648e557Ben Murdochif( (NOT LLVM_ENABLE_PIC OR LIBCLANG_BUILD_STATIC) AND NOT WIN32 ) 113f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) add_clang_library(${LIBCLANG_STATIC_TARGET_NAME} STATIC ${SOURCES}) 114116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch target_link_libraries(${LIBCLANG_STATIC_TARGET_NAME} ${LIBRARIES}) 115116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch add_dependencies(${LIBCLANG_STATIC_TARGET_NAME} ${GENERATED_HEADERS} clang-headers) 116f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) 117116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch set_target_properties(${LIBCLANG_STATIC_TARGET_NAME} 118f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) PROPERTIES 119f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) OUTPUT_NAME "clang") 120f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)endif() 121f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)