CMakeLists.txt revision 1edabbc32a07654d9b9fe44f50533ff146abd03e
1set(LLVM_USED_LIBS 2 clangARCMigrate 3 clangRewrite 4 clangFrontend 5 clangDriver 6 clangSerialization 7 clangIndex 8 clangSema 9 clangAST 10 clangLex 11 clangBasic) 12 13set( LLVM_LINK_COMPONENTS 14 support 15 mc 16 ) 17 18set(SOURCES 19 ARCMigrate.cpp 20 CIndex.cpp 21 CIndexCXX.cpp 22 CIndexCodeCompletion.cpp 23 CIndexDiagnostic.cpp 24 CIndexDiagnostic.h 25 CIndexHigh.cpp 26 CIndexInclusionStack.cpp 27 CIndexUSRs.cpp 28 CIndexer.cpp 29 CIndexer.h 30 CXCursor.cpp 31 CXCursor.h 32 CXSourceLocation.h 33 CXStoredDiagnostic.cpp 34 CXString.cpp 35 CXString.h 36 CXTranslationUnit.h 37 CXType.cpp 38 CXType.h 39 IndexBody.cpp 40 IndexDecl.cpp 41 IndexTypeSourceInfo.cpp 42 Index_Internal.h 43 Indexing.cpp 44 IndexingContext.cpp 45 IndexingContext.h 46 ../../include/clang-c/Index.h 47 ) 48 49if( LLVM_ENABLE_PIC ) 50 set(SHARED_LIBRARY TRUE) 51 add_clang_library(libclang ${SOURCES}) 52 53 set_target_properties(libclang 54 PROPERTIES 55 OUTPUT_NAME "libclang" 56 VERSION ${LIBCLANG_LIBRARY_VERSION} 57 DEFINE_SYMBOL _CINDEX_LIB_) 58 59 if(${CMAKE_SYSTEM_NAME} MATCHES "Darwin") 60 set(LIBCLANG_LINK_FLAGS 61 "-Wl,-compatibility_version -Wl,1 -Wl,-dead_strip -Wl,-seg1addr -Wl,0xE0000000") 62 set_target_properties(libclang 63 PROPERTIES 64 LINK_FLAGS "${LIBCLANG_LINK_FLAGS}" 65 INSTALL_NAME_DIR "@executable_path/../lib") 66 endif() 67 68 if(MSVC) 69 # windows.h doesn't compile with /Za 70 get_target_property(NON_ANSI_COMPILE_FLAGS libclang COMPILE_FLAGS) 71 string(REPLACE "/Za" "" NON_ANSI_COMPILE_FLAGS ${NON_ANSI_COMPILE_FLAGS}) 72 set_target_properties(libclang PROPERTIES 73 COMPILE_FLAGS ${NON_ANSI_COMPILE_FLAGS}) 74 endif() 75 76 set(LIBCLANG_STATIC_TARGET_NAME libclang_static) 77else() 78 set(LIBCLANG_STATIC_TARGET_NAME libclang) 79endif() 80 81if( NOT BUILD_SHARED_LIBS AND NOT WIN32 ) 82 add_clang_library(${LIBCLANG_STATIC_TARGET_NAME} STATIC ${SOURCES}) 83 84 set_target_properties(${LIBCLANG_STATIC_TARGET_NAME} 85 PROPERTIES 86 OUTPUT_NAME "libclang") 87endif() 88