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