CMakeLists.txt revision 8435bf93757b5fe1b11ac8a3149d18649a6f4086
1ec8605f1d7ec846dbf51047bfd5c56d32d1ff91cArgyrios Kyrtzidisset(SHARED_LIBRARY TRUE) 29fb9474c5b267400d4abfbff63c8b39f378235d4Argyrios Kyrtzidis 39fb9474c5b267400d4abfbff63c8b39f378235d4Argyrios Kyrtzidisset(LLVM_USED_LIBS 49fb9474c5b267400d4abfbff63c8b39f378235d4Argyrios Kyrtzidis clangFrontend 59fb9474c5b267400d4abfbff63c8b39f378235d4Argyrios Kyrtzidis clangDriver 69fb9474c5b267400d4abfbff63c8b39f378235d4Argyrios Kyrtzidis clangSerialization 79fb9474c5b267400d4abfbff63c8b39f378235d4Argyrios Kyrtzidis clangIndex 89fb9474c5b267400d4abfbff63c8b39f378235d4Argyrios Kyrtzidis clangSema 99fb9474c5b267400d4abfbff63c8b39f378235d4Argyrios Kyrtzidis clangAST 10ec8605f1d7ec846dbf51047bfd5c56d32d1ff91cArgyrios Kyrtzidis clangLex 119fb9474c5b267400d4abfbff63c8b39f378235d4Argyrios Kyrtzidis clangBasic) 129fb9474c5b267400d4abfbff63c8b39f378235d4Argyrios Kyrtzidis 139fb9474c5b267400d4abfbff63c8b39f378235d4Argyrios Kyrtzidisset( LLVM_LINK_COMPONENTS 14ec8605f1d7ec846dbf51047bfd5c56d32d1ff91cArgyrios Kyrtzidis support 15ec8605f1d7ec846dbf51047bfd5c56d32d1ff91cArgyrios Kyrtzidis mc 169fb9474c5b267400d4abfbff63c8b39f378235d4Argyrios Kyrtzidis ) 17ca804539d908d3a0e8c72a0df5f1f571d29490bbTed Kremenek 189fb9474c5b267400d4abfbff63c8b39f378235d4Argyrios Kyrtzidisadd_clang_library(libclang 19b3d74da3e1620c9a7a378afb5f244e4987e6713eArgyrios Kyrtzidis CIndex.cpp 209fb9474c5b267400d4abfbff63c8b39f378235d4Argyrios Kyrtzidis CIndexCXX.cpp 219fb9474c5b267400d4abfbff63c8b39f378235d4Argyrios Kyrtzidis CIndexCodeCompletion.cpp 229fb9474c5b267400d4abfbff63c8b39f378235d4Argyrios Kyrtzidis CIndexDiagnostic.cpp 239fb9474c5b267400d4abfbff63c8b39f378235d4Argyrios Kyrtzidis CIndexInclusionStack.cpp 249fb9474c5b267400d4abfbff63c8b39f378235d4Argyrios Kyrtzidis CIndexUSRs.cpp 259fb9474c5b267400d4abfbff63c8b39f378235d4Argyrios Kyrtzidis CIndexer.cpp 269fb9474c5b267400d4abfbff63c8b39f378235d4Argyrios Kyrtzidis CXCursor.cpp 279fb9474c5b267400d4abfbff63c8b39f378235d4Argyrios Kyrtzidis CXString.cpp 289fb9474c5b267400d4abfbff63c8b39f378235d4Argyrios Kyrtzidis CXType.cpp 299fb9474c5b267400d4abfbff63c8b39f378235d4Argyrios Kyrtzidis ../../include/clang-c/Index.h 309fb9474c5b267400d4abfbff63c8b39f378235d4Argyrios Kyrtzidis) 319fb9474c5b267400d4abfbff63c8b39f378235d4Argyrios Kyrtzidis 329fb9474c5b267400d4abfbff63c8b39f378235d4Argyrios Kyrtzidisif(${CMAKE_SYSTEM_NAME} MATCHES "Darwin") 339fb9474c5b267400d4abfbff63c8b39f378235d4Argyrios Kyrtzidis # Darwin-specific linker flags 349fb9474c5b267400d4abfbff63c8b39f378235d4Argyrios Kyrtzidis 359fb9474c5b267400d4abfbff63c8b39f378235d4Argyrios Kyrtzidis set(LIBCLANG_LINK_FLAGS "-Wl,-compatibility_version -Wl,1") 369fb9474c5b267400d4abfbff63c8b39f378235d4Argyrios Kyrtzidis 379fb9474c5b267400d4abfbff63c8b39f378235d4Argyrios Kyrtzidis set(LIBCLANG_LINK_FLAGS 389fb9474c5b267400d4abfbff63c8b39f378235d4Argyrios Kyrtzidis "${LIBCLANG_LINK_FLAGS} -Wl,-dead_strip -Wl,-seg1addr -Wl,0xE0000000") 399fb9474c5b267400d4abfbff63c8b39f378235d4Argyrios Kyrtzidis 409fb9474c5b267400d4abfbff63c8b39f378235d4Argyrios Kyrtzidis set_target_properties(libclang 419fb9474c5b267400d4abfbff63c8b39f378235d4Argyrios Kyrtzidis PROPERTIES 429fb9474c5b267400d4abfbff63c8b39f378235d4Argyrios Kyrtzidis LINK_FLAGS "${LIBCLANG_LINK_FLAGS}" 439fb9474c5b267400d4abfbff63c8b39f378235d4Argyrios Kyrtzidis INSTALL_NAME_DIR "@executable_path/../lib") 449fb9474c5b267400d4abfbff63c8b39f378235d4Argyrios Kyrtzidisendif() 459fb9474c5b267400d4abfbff63c8b39f378235d4Argyrios Kyrtzidis 46769ce3e93ad35bd9ac28e4d8b8f035ae4fd9a5b5Argyrios Kyrtzidis# Versioning information 47769ce3e93ad35bd9ac28e4d8b8f035ae4fd9a5b5Argyrios Kyrtzidisset_target_properties(libclang PROPERTIES VERSION ${LIBCLANG_LIBRARY_VERSION}) 48769ce3e93ad35bd9ac28e4d8b8f035ae4fd9a5b5Argyrios Kyrtzidis 499fb9474c5b267400d4abfbff63c8b39f378235d4Argyrios Kyrtzidisif(MSVC) 509fb9474c5b267400d4abfbff63c8b39f378235d4Argyrios Kyrtzidis # windows.h doesn't compile with /Za 519fb9474c5b267400d4abfbff63c8b39f378235d4Argyrios Kyrtzidis get_target_property(NON_ANSI_COMPILE_FLAGS libclang COMPILE_FLAGS) 529fb9474c5b267400d4abfbff63c8b39f378235d4Argyrios Kyrtzidis string(REPLACE /Za "" NON_ANSI_COMPILE_FLAGS ${NON_ANSI_COMPILE_FLAGS}) 539fb9474c5b267400d4abfbff63c8b39f378235d4Argyrios Kyrtzidis set_target_properties(libclang PROPERTIES COMPILE_FLAGS ${NON_ANSI_COMPILE_FLAGS}) 549fb9474c5b267400d4abfbff63c8b39f378235d4Argyrios Kyrtzidisendif(MSVC) 559fb9474c5b267400d4abfbff63c8b39f378235d4Argyrios Kyrtzidis 569fb9474c5b267400d4abfbff63c8b39f378235d4Argyrios Kyrtzidisset_target_properties(libclang 579fb9474c5b267400d4abfbff63c8b39f378235d4Argyrios Kyrtzidis PROPERTIES 589fb9474c5b267400d4abfbff63c8b39f378235d4Argyrios Kyrtzidis PREFIX "" # Otherwise we get liblibclang.so 599fb9474c5b267400d4abfbff63c8b39f378235d4Argyrios Kyrtzidis LINKER_LANGUAGE CXX 609fb9474c5b267400d4abfbff63c8b39f378235d4Argyrios Kyrtzidis DEFINE_SYMBOL _CINDEX_LIB_) 619fb9474c5b267400d4abfbff63c8b39f378235d4Argyrios Kyrtzidis