diff options
Diffstat (limited to 'tools/libclang/CMakeLists.txt')
-rw-r--r-- | tools/libclang/CMakeLists.txt | 22 |
1 files changed, 16 insertions, 6 deletions
diff --git a/tools/libclang/CMakeLists.txt b/tools/libclang/CMakeLists.txt index c5a975b..b7bde69 100644 --- a/tools/libclang/CMakeLists.txt +++ b/tools/libclang/CMakeLists.txt @@ -39,11 +39,11 @@ set(SOURCES Indexing.cpp IndexingContext.cpp IndexingContext.h - SimpleFormatContext.h ../../include/clang-c/Index.h ) set(LIBRARIES + clangIndex clangARCMigrate clangRewriteCore clangRewriteFrontend @@ -56,7 +56,6 @@ set(LIBRARIES clangLex clangTooling clangBasic - clangFormat ) set(GENERATED_HEADERS @@ -70,6 +69,8 @@ set(GENERATED_HEADERS ClangStmtNodes ) +set(EXPORTED_SYMBOL_FILE ${CMAKE_CURRENT_SOURCE_DIR}/libclang.exports) + if( LLVM_ENABLE_PIC ) set(SHARED_LIBRARY TRUE) add_clang_library(libclang ${SOURCES}) @@ -92,11 +93,17 @@ if( LLVM_ENABLE_PIC ) if(${CMAKE_SYSTEM_NAME} MATCHES "Darwin") set(LIBCLANG_LINK_FLAGS - "-Wl,-compatibility_version -Wl,1 -Wl,-dead_strip") + " -Wl,-compatibility_version -Wl,1 -Wl,-dead_strip") + if (DEFINED ${LLVM_SUBMIT_VERSION}) + set(LIBCLANG_LINK_FLAGS + "${LIBCLANG_LINK_FLAGS} -Wl,-current_version -Wl,${LLVM_SUBMIT_VERSION}.${LLVM_SUBMIT_SUBVERSION}") + endif() + + set_property(TARGET libclang APPEND_STRING PROPERTY + LINK_FLAGS ${LIBCLANG_LINK_FLAGS}) set_target_properties(libclang PROPERTIES - LINK_FLAGS "${LIBCLANG_LINK_FLAGS}" - INSTALL_NAME_DIR "@executable_path/../lib") + INSTALL_NAME_DIR "@rpath") endif() @@ -105,7 +112,10 @@ else() set(LIBCLANG_STATIC_TARGET_NAME libclang) endif() -if( NOT BUILD_SHARED_LIBS AND NOT WIN32 ) +option(LIBCLANG_BUILD_STATIC + "Build libclang as a static library (in addition to a shared one)" OFF) + +if( (NOT LLVM_ENABLE_PIC OR LIBCLANG_BUILD_STATIC) AND NOT WIN32 ) add_clang_library(${LIBCLANG_STATIC_TARGET_NAME} STATIC ${SOURCES}) target_link_libraries(${LIBCLANG_STATIC_TARGET_NAME} ${LIBRARIES}) add_dependencies(${LIBCLANG_STATIC_TARGET_NAME} ${GENERATED_HEADERS} clang-headers) |