CMakeLists.txt revision aa0cd85838f2a024e589ea4e8c2094130065af21
144d362409d5469aed47d19e7908d19bd194493aThomas Grafset(LLVM_USED_LIBS
244d362409d5469aed47d19e7908d19bd194493aThomas Graf  clangARCMigrate
344d362409d5469aed47d19e7908d19bd194493aThomas Graf  clangRewrite
444d362409d5469aed47d19e7908d19bd194493aThomas Graf  clangFrontend
544d362409d5469aed47d19e7908d19bd194493aThomas Graf  clangDriver
644d362409d5469aed47d19e7908d19bd194493aThomas Graf  clangSerialization
744d362409d5469aed47d19e7908d19bd194493aThomas Graf  clangSema
844d362409d5469aed47d19e7908d19bd194493aThomas Graf  clangEdit
944d362409d5469aed47d19e7908d19bd194493aThomas Graf  clangComments
1044d362409d5469aed47d19e7908d19bd194493aThomas Graf  clangAST
1144d362409d5469aed47d19e7908d19bd194493aThomas Graf  clangLex
1244d362409d5469aed47d19e7908d19bd194493aThomas Graf  clangBasic)
1344d362409d5469aed47d19e7908d19bd194493aThomas Graf
1444d362409d5469aed47d19e7908d19bd194493aThomas Grafset( LLVM_LINK_COMPONENTS
1544d362409d5469aed47d19e7908d19bd194493aThomas Graf  support
1644d362409d5469aed47d19e7908d19bd194493aThomas Graf  mc
1744d362409d5469aed47d19e7908d19bd194493aThomas Graf  )
1844d362409d5469aed47d19e7908d19bd194493aThomas Graf
1944d362409d5469aed47d19e7908d19bd194493aThomas Grafset(SOURCES
2044d362409d5469aed47d19e7908d19bd194493aThomas Graf  ARCMigrate.cpp
2144d362409d5469aed47d19e7908d19bd194493aThomas Graf  CIndex.cpp
2244d362409d5469aed47d19e7908d19bd194493aThomas Graf  CIndexCXX.cpp
2344d362409d5469aed47d19e7908d19bd194493aThomas Graf  CIndexCodeCompletion.cpp
2444d362409d5469aed47d19e7908d19bd194493aThomas Graf  CIndexDiagnostic.cpp
2544d362409d5469aed47d19e7908d19bd194493aThomas Graf  CIndexDiagnostic.h
2644d362409d5469aed47d19e7908d19bd194493aThomas Graf  CIndexHigh.cpp
2744d362409d5469aed47d19e7908d19bd194493aThomas Graf  CIndexInclusionStack.cpp
2844d362409d5469aed47d19e7908d19bd194493aThomas Graf  CIndexUSRs.cpp
2944d362409d5469aed47d19e7908d19bd194493aThomas Graf  CIndexer.cpp
3044d362409d5469aed47d19e7908d19bd194493aThomas Graf  CIndexer.h
3144d362409d5469aed47d19e7908d19bd194493aThomas Graf  CXCursor.cpp
3244d362409d5469aed47d19e7908d19bd194493aThomas Graf  CXCursor.h
3344d362409d5469aed47d19e7908d19bd194493aThomas Graf  CXLoadedDiagnostic.cpp
3444d362409d5469aed47d19e7908d19bd194493aThomas Graf  CXLoadedDiagnostic.h
3544d362409d5469aed47d19e7908d19bd194493aThomas Graf  CXSourceLocation.cpp
3644d362409d5469aed47d19e7908d19bd194493aThomas Graf  CXSourceLocation.h
3744d362409d5469aed47d19e7908d19bd194493aThomas Graf  CXStoredDiagnostic.cpp
3844d362409d5469aed47d19e7908d19bd194493aThomas Graf  CXString.cpp
3944d362409d5469aed47d19e7908d19bd194493aThomas Graf  CXString.h
4044d362409d5469aed47d19e7908d19bd194493aThomas Graf  CXTranslationUnit.h
4144d362409d5469aed47d19e7908d19bd194493aThomas Graf  CXType.cpp
4244d362409d5469aed47d19e7908d19bd194493aThomas Graf  CXType.h
4344d362409d5469aed47d19e7908d19bd194493aThomas Graf  IndexBody.cpp
4444d362409d5469aed47d19e7908d19bd194493aThomas Graf  IndexDecl.cpp
4544d362409d5469aed47d19e7908d19bd194493aThomas Graf  IndexTypeSourceInfo.cpp
4644d362409d5469aed47d19e7908d19bd194493aThomas Graf  Index_Internal.h
4744d362409d5469aed47d19e7908d19bd194493aThomas Graf  Indexing.cpp
4844d362409d5469aed47d19e7908d19bd194493aThomas Graf  IndexingContext.cpp
4944d362409d5469aed47d19e7908d19bd194493aThomas Graf  IndexingContext.h
5044d362409d5469aed47d19e7908d19bd194493aThomas Graf  ../../include/clang-c/Index.h
5144d362409d5469aed47d19e7908d19bd194493aThomas Graf  )
5244d362409d5469aed47d19e7908d19bd194493aThomas Graf
5344d362409d5469aed47d19e7908d19bd194493aThomas Grafif( LLVM_ENABLE_PIC )
5444d362409d5469aed47d19e7908d19bd194493aThomas Graf  set(SHARED_LIBRARY TRUE)
5544d362409d5469aed47d19e7908d19bd194493aThomas Graf  add_clang_library(libclang ${SOURCES})
5644d362409d5469aed47d19e7908d19bd194493aThomas Graf
5744d362409d5469aed47d19e7908d19bd194493aThomas Graf  if(WIN32)
5844d362409d5469aed47d19e7908d19bd194493aThomas Graf    set_target_properties(libclang
5944d362409d5469aed47d19e7908d19bd194493aThomas Graf      PROPERTIES
6044d362409d5469aed47d19e7908d19bd194493aThomas Graf      OUTPUT_NAME "libclang"
6144d362409d5469aed47d19e7908d19bd194493aThomas Graf      VERSION ${LIBCLANG_LIBRARY_VERSION}
6244d362409d5469aed47d19e7908d19bd194493aThomas Graf      DEFINE_SYMBOL _CINDEX_LIB_)
6344d362409d5469aed47d19e7908d19bd194493aThomas Graf  else()
6444d362409d5469aed47d19e7908d19bd194493aThomas Graf    set_target_properties(libclang
6544d362409d5469aed47d19e7908d19bd194493aThomas Graf      PROPERTIES
6644d362409d5469aed47d19e7908d19bd194493aThomas Graf      OUTPUT_NAME "clang"
6744d362409d5469aed47d19e7908d19bd194493aThomas Graf      VERSION ${LIBCLANG_LIBRARY_VERSION}
6844d362409d5469aed47d19e7908d19bd194493aThomas Graf      DEFINE_SYMBOL _CINDEX_LIB_)
6944d362409d5469aed47d19e7908d19bd194493aThomas Graf  endif()
7044d362409d5469aed47d19e7908d19bd194493aThomas Graf
7144d362409d5469aed47d19e7908d19bd194493aThomas Graf  if(${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
7244d362409d5469aed47d19e7908d19bd194493aThomas Graf    set(LIBCLANG_LINK_FLAGS
7344d362409d5469aed47d19e7908d19bd194493aThomas Graf      "-Wl,-compatibility_version -Wl,1 -Wl,-dead_strip")
7444d362409d5469aed47d19e7908d19bd194493aThomas Graf    set_target_properties(libclang
7544d362409d5469aed47d19e7908d19bd194493aThomas Graf      PROPERTIES
7644d362409d5469aed47d19e7908d19bd194493aThomas Graf      LINK_FLAGS "${LIBCLANG_LINK_FLAGS}"
7744d362409d5469aed47d19e7908d19bd194493aThomas Graf      INSTALL_NAME_DIR "@executable_path/../lib")
7844d362409d5469aed47d19e7908d19bd194493aThomas Graf  endif()
79a7469ce758fac3631df6ce72eb3f89150070e7f8Thomas Graf
80a7469ce758fac3631df6ce72eb3f89150070e7f8Thomas Graf
81a7469ce758fac3631df6ce72eb3f89150070e7f8Thomas Graf  set(LIBCLANG_STATIC_TARGET_NAME libclang_static)
8244d362409d5469aed47d19e7908d19bd194493aThomas Grafelse()
8344d362409d5469aed47d19e7908d19bd194493aThomas Graf  set(LIBCLANG_STATIC_TARGET_NAME libclang)
8444d362409d5469aed47d19e7908d19bd194493aThomas Grafendif()
8544d362409d5469aed47d19e7908d19bd194493aThomas Graf
8644d362409d5469aed47d19e7908d19bd194493aThomas Grafif( NOT BUILD_SHARED_LIBS AND NOT WIN32 )
8744d362409d5469aed47d19e7908d19bd194493aThomas Graf  add_clang_library(${LIBCLANG_STATIC_TARGET_NAME} STATIC ${SOURCES})
8844d362409d5469aed47d19e7908d19bd194493aThomas Graf
8944d362409d5469aed47d19e7908d19bd194493aThomas Graf  set_target_properties(${LIBCLANG_STATIC_TARGET_NAME}
9044d362409d5469aed47d19e7908d19bd194493aThomas Graf    PROPERTIES
9144d362409d5469aed47d19e7908d19bd194493aThomas Graf    OUTPUT_NAME "clang")
9244d362409d5469aed47d19e7908d19bd194493aThomas Grafendif()
9344d362409d5469aed47d19e7908d19bd194493aThomas Graf