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