1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74
|
include(CheckIncludeFiles)
set(SOURCES
IndexStore.cpp
ADDITIONAL_HEADERS
../../include/indexstore/indexstore.h
../../include/indexstore/IndexStoreCXX.h
)
if(NOT CMAKE_SYSTEM_NAME STREQUAL Windows)
set(LLVM_EXPORTED_SYMBOL_FILE ${CMAKE_CURRENT_SOURCE_DIR}/IndexStore.exports)
endif()
if(WIN32)
set(output_name "libIndexStore")
else()
set(output_name "IndexStore")
endif()
add_clang_library(IndexStore SHARED
OUTPUT_NAME ${output_name}
${SOURCES}
LINK_LIBS
clangIndex
clangIndexDataStore
LINK_COMPONENTS
Support
)
if(WIN32)
set_target_properties(IndexStore
PROPERTIES
DEFINE_SYMBOL IndexStore_EXPORTS)
elseif(APPLE)
set(INDEXSTORE_LIBRARY_VERSION "${LLVM_VERSION_MAJOR}.${LLVM_VERSION_MINOR}.${LLVM_VERSION_PATCH}")
set(INDEXSTORE_LINK_FLAGS " -Wl,-compatibility_version -Wl,1")
set(INDEXSTORE_LINK_FLAGS "${INDEXSTORE_LINK_FLAGS} -Wl,-current_version -Wl,${INDEXSTORE_LIBRARY_VERSION}")
check_include_files("CoreServices/CoreServices.h" HAVE_CORESERVICES_H)
if(HAVE_CORESERVICES_H)
set(INDEXSTORE_LINK_FLAGS "${INDEXSTORE_LINK_FLAGS} -framework CoreServices")
endif()
set_property(TARGET IndexStore APPEND_STRING PROPERTY
LINK_FLAGS ${INDEXSTORE_LINK_FLAGS})
endif()
if (LLVM_INSTALL_TOOLCHAIN_ONLY)
install(TARGETS IndexStore
COMPONENT IndexStore
LIBRARY DESTINATION lib${LLVM_LIBDIR_SUFFIX}
ARCHIVE DESTINATION lib${LLVM_LIBDIR_SUFFIX}
RUNTIME DESTINATION bin)
if (NOT CMAKE_CONFIGURATION_TYPES)
add_llvm_install_targets(install-IndexStore
DEPENDS IndexStore
COMPONENT IndexStore)
endif()
endif()
set(INDEXSTORE_HEADERS_INSTALL_DESTINATION "local/include")
install(DIRECTORY ../../include/indexstore
COMPONENT IndexStore
DESTINATION "${INDEXSTORE_HEADERS_INSTALL_DESTINATION}"
FILES_MATCHING
PATTERN "*.h"
PATTERN ".svn" EXCLUDE
)
|