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