[Lldb-commits] [lldb] r290273 - [CMake] Support distribution install for LLDB.framework

Chris Bieneman via lldb-commits lldb-commits at lists.llvm.org
Wed Dec 21 13:23:27 PST 2016


Author: cbieneman
Date: Wed Dec 21 15:23:27 2016
New Revision: 290273

URL: http://llvm.org/viewvc/llvm-project?rev=290273&view=rev
Log:
[CMake] Support distribution install for LLDB.framework

This patch adds the last bit of support to get LLVM_DISTRIBUTION_COMPONENTS working with libLLDB when built as a framework.

This patch adds dummy install targets for binaries built into the framework's Resources directory, and makes the framework's install target depend on all the binaries that get installed with the framework.

Modified:
    lldb/trunk/cmake/modules/AddLLDB.cmake

Modified: lldb/trunk/cmake/modules/AddLLDB.cmake
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/cmake/modules/AddLLDB.cmake?rev=290273&r1=290272&r2=290273&view=diff
==============================================================================
--- lldb/trunk/cmake/modules/AddLLDB.cmake (original)
+++ lldb/trunk/cmake/modules/AddLLDB.cmake Wed Dec 21 15:23:27 2016
@@ -124,6 +124,16 @@ function(add_lldb_executable name)
             RUNTIME_OUTPUT_DIRECTORY $<TARGET_FILE_DIR:liblldb>/Resources
             BUILD_WITH_INSTALL_RPATH On
             INSTALL_RPATH "@loader_path/../../../../${_dots}/${LLDB_FRAMEWORK_INSTALL_DIR}")
+      # For things inside the framework we don't need functional install targets
+      # because CMake copies the resources and headers from the build directory.
+      # But we still need this target to exist in order to use the
+      # LLVM_DISTRIBUTION_COMPONENTS build option. We also need the
+      # install-liblldb target to depend on this tool, so that it gets put into
+      # the Resources directory before the framework is installed.
+      if(ARG_GENERATE_INSTALL)
+        add_custom_target(install-${name} DEPENDS ${name})
+        add_dependencies(install-liblldb ${name})
+      endif()
     else()
       set_target_properties(${name} PROPERTIES
             BUILD_WITH_INSTALL_RPATH On
@@ -131,7 +141,7 @@ function(add_lldb_executable name)
     endif()
   endif()
 
-  if(ARG_GENERATE_INSTALL)
+  if(ARG_GENERATE_INSTALL AND NOT ARG_INCLUDE_IN_FRAMEWORK)
     install(TARGETS ${name}
           COMPONENT ${name}
           RUNTIME DESTINATION bin)




More information about the lldb-commits mailing list