CMakeLists.txt revision 3064ef9e604d19a0cfd0d8e3ed3055bfd83f88fd
1set(SHARED_LIBRARY TRUE) 2 3set(LLVM_NO_RTTI 1) 4 5set(LLVM_USED_LIBS 6 clangFrontend 7 clangDriver 8 clangSerialization 9 clangParse 10 clangSema 11 clangAnalysis 12 clangAST 13 clangLex 14 clangBasic) 15 16set( LLVM_LINK_COMPONENTS 17 bitreader 18 mc 19 core 20 ) 21 22add_clang_library(libclang 23 CIndex.cpp 24 CIndexCXX.cpp 25 CIndexCodeCompletion.cpp 26 CIndexDiagnostic.cpp 27 CIndexInclusionStack.cpp 28 CIndexUSRs.cpp 29 CIndexer.cpp 30 CXCursor.cpp 31 CXType.cpp 32 ../../include/clang-c/Index.h 33) 34 35if(${CMAKE_SYSTEM_NAME} MATCHES "Darwin") 36 # dylib versioning information 37 # FIXME: Is there a more CMake-ish way to handle this? 38 set(LIBCLANG_VERSION 1 39 CACHE STRING "Version number of the libclang library") 40 set(LIBCLANG_SUBVERSION 0 41 CACHE STRING "Minor version number of the libclang library") 42 set(LIBCLANG_LINK_FLAGS 43 "-Wl,-current_version -Wl,${LIBCLANG_VERSION}.${LIBCLANG_SUBVERSION} -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") 52endif() 53 54if(MSVC) 55 # windows.h doesn't compile with /Za 56 get_target_property(NON_ANSI_COMPILE_FLAGS libclang COMPILE_FLAGS) 57 string(REPLACE /Za "" NON_ANSI_COMPILE_FLAGS ${NON_ANSI_COMPILE_FLAGS}) 58 set_target_properties(libclang PROPERTIES COMPILE_FLAGS ${NON_ANSI_COMPILE_FLAGS}) 59endif(MSVC) 60 61set_target_properties(libclang 62 PROPERTIES 63 LINKER_LANGUAGE CXX 64 DEFINE_SYMBOL _CINDEX_LIB_) 65