]> granicus.if.org Git - clang/commitdiff
[CMake] Setup an install component for libclang and c-index-test.
authorArgyrios Kyrtzidis <akyrtzi@gmail.com>
Thu, 12 Nov 2015 00:46:57 +0000 (00:46 +0000)
committerArgyrios Kyrtzidis <akyrtzi@gmail.com>
Thu, 12 Nov 2015 00:46:57 +0000 (00:46 +0000)
Also don't create libclang dylib symlinks on darwin.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@252836 91177308-0d34-0410-b5e6-96231b3b80d8

CMakeLists.txt
tools/c-index-test/CMakeLists.txt
tools/libclang/CMakeLists.txt

index 3aa0baeffae5d55e429d9de51278ca77f0316b33..2a78c6ca909b27fe0dabedc0df26bc3b5adc18b4 100644 (file)
@@ -354,7 +354,7 @@ endmacro()
 
 macro(add_clang_library name)
   cmake_parse_arguments(ARG
-    ""
+    "SHARED"
     ""
     "ADDITIONAL_HEADERS"
     ${ARGN})
@@ -390,17 +390,29 @@ macro(add_clang_library name)
       ${ARG_ADDITIONAL_HEADERS} # It may contain unparsed unknown args.
       )
   endif()
-  llvm_add_library(${name} ${ARG_UNPARSED_ARGUMENTS} ${srcs})
+  if(ARG_SHARED)
+    set(ARG_ENABLE_SHARED SHARED)
+  endif()
+  llvm_add_library(${name} ${ARG_ENABLE_SHARED} ${ARG_UNPARSED_ARGUMENTS} ${srcs})
 
   if(TARGET ${name})
     target_link_libraries(${name} ${cmake_2_8_12_INTERFACE} ${LLVM_COMMON_LIBS})
 
     if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY OR ${name} STREQUAL "libclang")
       install(TARGETS ${name}
+        COMPONENT ${name}
         EXPORT ClangTargets
         LIBRARY DESTINATION lib${LLVM_LIBDIR_SUFFIX}
         ARCHIVE DESTINATION lib${LLVM_LIBDIR_SUFFIX}
         RUNTIME DESTINATION bin)
+
+      if (${ARG_SHARED} AND NOT CMAKE_CONFIGURATION_TYPES)
+        add_custom_target(install-${name}
+                          DEPENDS ${name}
+                          COMMAND "${CMAKE_COMMAND}"
+                                  -DCMAKE_INSTALL_COMPONENT=${name}
+                                  -P "${CMAKE_BINARY_DIR}/cmake_install.cmake")
+      endif()
     endif()
     set_property(GLOBAL APPEND PROPERTY CLANG_EXPORTS ${name})
   else()
@@ -451,6 +463,7 @@ if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY)
 endif()
 
 install(DIRECTORY include/clang-c
+  COMPONENT libclang
   DESTINATION include
   FILES_MATCHING
   PATTERN "*.h"
index d0872fd2eff388963cb2f9f6097ba022e8603390..7183854b39ff0aabf139adba72c368463ae3a029 100644 (file)
@@ -28,3 +28,12 @@ if (CLANG_HAVE_LIBXML)
   include_directories(SYSTEM ${LIBXML2_INCLUDE_DIR})
   target_link_libraries(c-index-test ${LIBXML2_LIBRARIES})
 endif()
+
+install(TARGETS c-index-test
+  RUNTIME DESTINATION local/bin
+  COMPONENT c-index-test)
+add_custom_target(install-c-index-test
+  DEPENDS c-index-test
+  COMMAND "${CMAKE_COMMAND}"
+          -DCMAKE_INSTALL_COMPONENT=c-index-test
+          -P "${CMAKE_BINARY_DIR}/cmake_install.cmake")
index e8c247bf4264d5e6afa5b88f8b8fb10a0793858f..5267c02db5f4cc0226b4260ebb9bd5a766ac3317 100644 (file)
@@ -102,18 +102,16 @@ if(ENABLE_SHARED)
       PROPERTIES
       VERSION ${LIBCLANG_LIBRARY_VERSION}
       DEFINE_SYMBOL _CINDEX_LIB_)
-  else()
-    set_target_properties(libclang
-      PROPERTIES
-      VERSION ${LIBCLANG_LIBRARY_VERSION}
-      DEFINE_SYMBOL _CINDEX_LIB_)
-  endif()
-
-  if(APPLE)
+  elseif(APPLE)
     set(LIBCLANG_LINK_FLAGS " -Wl,-compatibility_version -Wl,1")
     set(LIBCLANG_LINK_FLAGS "${LIBCLANG_LINK_FLAGS} -Wl,-current_version -Wl,${LLVM_VERSION_MAJOR}.${LLVM_VERSION_MINOR}.${LLVM_VERSION_PATCH}")
 
     set_property(TARGET libclang APPEND_STRING PROPERTY
                  LINK_FLAGS ${LIBCLANG_LINK_FLAGS})
+  else()
+    set_target_properties(libclang
+      PROPERTIES
+      VERSION ${LIBCLANG_LIBRARY_VERSION}
+      DEFINE_SYMBOL _CINDEX_LIB_)
   endif()
 endif()