[Lldb-commits] [lldb] r337202 - [CMake] Give lldb tools functional install targets when building LLDB.framework

Alex Langford via lldb-commits lldb-commits at lists.llvm.org
Mon Jul 16 12:19:57 PDT 2018


Author: xiaobai
Date: Mon Jul 16 12:19:56 2018
New Revision: 337202

URL: http://llvm.org/viewvc/llvm-project?rev=337202&view=rev
Log:
[CMake] Give lldb tools functional install targets when building LLDB.framework

Summary:
This change makes the install targets for lldb tools functional when
building for the framework.

I am currently working on the install rules for lldb-framework and this will
let me make `install-lldb-framework` rely on `install-lldb-argdumper` for
instance. This is especially important for `install-lldb-framework-stripped`. It
is much better for `install-lldb-framework-stripped` to rely on
`install-lldb-argdumper-stripped` than to copy and strip lldb-argdumper
manually.

Differential Revision: https://reviews.llvm.org/D49038

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=337202&r1=337201&r2=337202&view=diff
==============================================================================
--- lldb/trunk/cmake/modules/AddLLDB.cmake (original)
+++ lldb/trunk/cmake/modules/AddLLDB.cmake Mon Jul 16 12:19:56 2018
@@ -111,18 +111,6 @@ function(add_lldb_executable name)
             RUNTIME_OUTPUT_DIRECTORY $<TARGET_FILE_DIR:liblldb>${resource_dir}
             BUILD_WITH_INSTALL_RPATH On
             INSTALL_RPATH "@loader_path/../../../${resource_dots}${_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})
-        add_custom_target(install-${name}-stripped DEPENDS ${name})
-        add_dependencies(install-liblldb-stripped ${name})
-      endif()
     endif()
   endif()
 
@@ -132,10 +120,14 @@ function(add_lldb_executable name)
           INSTALL_RPATH "@loader_path/../${LLDB_FRAMEWORK_INSTALL_DIR}")
   endif()
 
-  if(ARG_GENERATE_INSTALL AND NOT (ARG_INCLUDE_IN_SUITE AND LLDB_BUILD_FRAMEWORK ))
+  if(ARG_GENERATE_INSTALL)
+    set(out_dir "bin")
+    if (LLDB_BUILD_FRAMEWORK AND ARG_INCLUDE_IN_SUITE)
+      set(out_dir ${LLDB_FRAMEWORK_INSTALL_DIR}/${LLDB_FRAMEWORK_RESOURCE_DIR})
+    endif()
     install(TARGETS ${name}
           COMPONENT ${name}
-          RUNTIME DESTINATION bin)
+          RUNTIME DESTINATION ${out_dir})
     if (NOT CMAKE_CONFIGURATION_TYPES)
       add_llvm_install_targets(install-${name}
                                DEPENDS ${name}




More information about the lldb-commits mailing list