CMakeLists.txt revision 906c73ffbc78542ad333becb6e013dd9efc299b6
1set(SHARED_LIBRARY TRUE) 2 3set(LLVM_USED_LIBS 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 18add_clang_library(libclang 19 CIndex.cpp 20 CIndexCXX.cpp 21 CIndexCodeCompletion.cpp 22 CIndexDiagnostic.cpp 23 CIndexInclusionStack.cpp 24 CIndexUSRs.cpp 25 CIndexer.cpp 26 CXCursor.cpp 27 CXString.cpp 28 CXType.cpp 29 ../../include/clang-c/Index.h 30) 31 32if(${CMAKE_SYSTEM_NAME} MATCHES "Darwin") 33 # dylib versioning information 34 # FIXME: Is there a more CMake-ish way to handle this? 35 set(LIBCLANG_VERSION 1 36 CACHE STRING "Version number of the libclang library") 37 set(LIBCLANG_SUBVERSION 0 38 CACHE STRING "Minor version number of the libclang library") 39 set(LIBCLANG_LINK_FLAGS 40 "-Wl,-current_version -Wl,${LIBCLANG_VERSION}.${LIBCLANG_SUBVERSION} -Wl,-compatibility_version -Wl,1") 41 42 set(LIBCLANG_LINK_FLAGS 43 "${LIBCLANG_LINK_FLAGS} -Wl,-dead_strip -Wl,-seg1addr -Wl,0xE0000000") 44 45 set_target_properties(libclang 46 PROPERTIES 47 LINK_FLAGS "${LIBCLANG_LINK_FLAGS}" 48 INSTALL_NAME_DIR "@executable_path/../lib") 49endif() 50 51if(MSVC) 52 # windows.h doesn't compile with /Za 53 get_target_property(NON_ANSI_COMPILE_FLAGS libclang COMPILE_FLAGS) 54 string(REPLACE /Za "" NON_ANSI_COMPILE_FLAGS ${NON_ANSI_COMPILE_FLAGS}) 55 set_target_properties(libclang PROPERTIES COMPILE_FLAGS ${NON_ANSI_COMPILE_FLAGS}) 56endif(MSVC) 57 58set_target_properties(libclang 59 PROPERTIES 60 PREFIX "" # Otherwise we get liblibclang.so 61 LINKER_LANGUAGE CXX 62 DEFINE_SYMBOL _CINDEX_LIB_) 63