CMakeLists.txt revision 6656457a0a5706f797c2f1036a93eb75869bea2e
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 ) 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 set(LIBCLANG_LINK_FLAGS 42 "-Wl,-compatibility_version -Wl,1 -Wl,-dead_strip -Wl,-seg1addr -Wl,0xE0000000") 43 set_target_properties(libclang 44 PROPERTIES 45 LINK_FLAGS "${LIBCLANG_LINK_FLAGS}" 46 INSTALL_NAME_DIR "@executable_path/../lib") 47 endif() 48 49 if(MSVC) 50 # windows.h doesn't compile with /Za 51 get_target_property(NON_ANSI_COMPILE_FLAGS libclang COMPILE_FLAGS) 52 string(REPLACE "/Za" "" NON_ANSI_COMPILE_FLAGS ${NON_ANSI_COMPILE_FLAGS}) 53 set_target_properties(libclang PROPERTIES 54 COMPILE_FLAGS ${NON_ANSI_COMPILE_FLAGS}) 55 endif() 56 57 set(LIBCLANG_STATIC_TARGET_NAME libclang_static) 58else() 59 set(LIBCLANG_STATIC_TARGET_NAME libclang) 60endif() 61 62if( NOT BUILD_SHARED_LIBS AND NOT WIN32 ) 63 add_clang_library(${LIBCLANG_STATIC_TARGET_NAME} STATIC ${SOURCES}) 64 65 set_target_properties(${LIBCLANG_STATIC_TARGET_NAME} 66 PROPERTIES 67 OUTPUT_NAME "clang") 68endif() 69