summaryrefslogtreecommitdiffstats
path: root/tools/libclang/CMakeLists.txt
diff options
context:
space:
mode:
Diffstat (limited to 'tools/libclang/CMakeLists.txt')
-rw-r--r--tools/libclang/CMakeLists.txt76
1 files changed, 49 insertions, 27 deletions
diff --git a/tools/libclang/CMakeLists.txt b/tools/libclang/CMakeLists.txt
index fb0b91f..283276f 100644
--- a/tools/libclang/CMakeLists.txt
+++ b/tools/libclang/CMakeLists.txt
@@ -1,16 +1,6 @@
-set(LLVM_USED_LIBS
- clangARCMigrate
- clangRewrite
- clangFrontend
- clangDriver
- clangSerialization
- clangSema
- clangEdit
- clangAST
- clangLex
- clangBasic)
-
-set( LLVM_LINK_COMPONENTS
+set(LLVM_LINK_COMPONENTS
+ ${LLVM_TARGETS_TO_BUILD}
+ asmparser
support
mc
)
@@ -27,8 +17,10 @@ set(SOURCES
CIndexUSRs.cpp
CIndexer.cpp
CIndexer.h
+ CXComment.cpp
CXCursor.cpp
CXCursor.h
+ CXCompilationDatabase.cpp
CXLoadedDiagnostic.cpp
CXLoadedDiagnostic.h
CXSourceLocation.cpp
@@ -49,32 +41,60 @@ set(SOURCES
../../include/clang-c/Index.h
)
+set(LIBRARIES
+ clangARCMigrate
+ clangRewrite
+ clangFrontend
+ clangDriver
+ clangSerialization
+ clangSema
+ clangEdit
+ clangAST
+ clangLex
+ clangTooling
+ clangBasic
+ )
+
+set(GENERATED_HEADERS
+ ClangAttrClasses
+ ClangAttrList
+ ClangAttrParsedAttrList
+ ClangCommentNodes
+ ClangDiagnosticCommon
+ ClangDiagnosticFrontend
+ ClangDeclNodes
+ ClangStmtNodes
+ )
+
if( LLVM_ENABLE_PIC )
set(SHARED_LIBRARY TRUE)
add_clang_library(libclang ${SOURCES})
+ target_link_libraries(libclang ${LIBRARIES})
+ add_dependencies(libclang ${GENERATED_HEADERS})
- set_target_properties(libclang
- PROPERTIES
- OUTPUT_NAME "libclang"
- VERSION ${LIBCLANG_LIBRARY_VERSION}
- DEFINE_SYMBOL _CINDEX_LIB_)
+ if(WIN32)
+ set_target_properties(libclang
+ PROPERTIES
+ OUTPUT_NAME "libclang"
+ VERSION ${LIBCLANG_LIBRARY_VERSION}
+ DEFINE_SYMBOL _CINDEX_LIB_)
+ else()
+ set_target_properties(libclang
+ PROPERTIES
+ OUTPUT_NAME "clang"
+ VERSION ${LIBCLANG_LIBRARY_VERSION}
+ DEFINE_SYMBOL _CINDEX_LIB_)
+ endif()
if(${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
set(LIBCLANG_LINK_FLAGS
- "-Wl,-compatibility_version -Wl,1 -Wl,-dead_strip -Wl,-seg1addr -Wl,0xE0000000")
+ "-Wl,-compatibility_version -Wl,1 -Wl,-dead_strip")
set_target_properties(libclang
PROPERTIES
LINK_FLAGS "${LIBCLANG_LINK_FLAGS}"
INSTALL_NAME_DIR "@executable_path/../lib")
endif()
- if(MSVC)
- # windows.h doesn't compile with /Za
- get_target_property(NON_ANSI_COMPILE_FLAGS libclang COMPILE_FLAGS)
- string(REPLACE "/Za" "" NON_ANSI_COMPILE_FLAGS ${NON_ANSI_COMPILE_FLAGS})
- set_target_properties(libclang PROPERTIES
- COMPILE_FLAGS ${NON_ANSI_COMPILE_FLAGS})
- endif()
set(LIBCLANG_STATIC_TARGET_NAME libclang_static)
else()
@@ -83,8 +103,10 @@ endif()
if( NOT BUILD_SHARED_LIBS 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})
set_target_properties(${LIBCLANG_STATIC_TARGET_NAME}
PROPERTIES
- OUTPUT_NAME "libclang")
+ OUTPUT_NAME "clang")
endif()
OpenPOWER on IntegriCloud