xiaobai created this revision. xiaobai added reviewers: labath, sas, compnerd, smeenai. Herald added a subscriber: mgorny.
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. https://reviews.llvm.org/D49038 Files: cmake/modules/AddLLDB.cmake Index: cmake/modules/AddLLDB.cmake =================================================================== --- cmake/modules/AddLLDB.cmake +++ cmake/modules/AddLLDB.cmake @@ -111,18 +111,6 @@ 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 @@ 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}
Index: cmake/modules/AddLLDB.cmake =================================================================== --- cmake/modules/AddLLDB.cmake +++ cmake/modules/AddLLDB.cmake @@ -111,18 +111,6 @@ 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 @@ 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}
_______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits