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