llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT--> @llvm/pr-subscribers-clang Author: Ken Matsui (ken-matsui) <details> <summary>Changes</summary> --- Full diff: https://github.com/llvm/llvm-project/pull/172727.diff 1 Files Affected: - (modified) clang/tools/scan-build-py/CMakeLists.txt (+95-91) ``````````diff diff --git a/clang/tools/scan-build-py/CMakeLists.txt b/clang/tools/scan-build-py/CMakeLists.txt index 9273eb5ed977e..84087a9fd8d2e 100644 --- a/clang/tools/scan-build-py/CMakeLists.txt +++ b/clang/tools/scan-build-py/CMakeLists.txt @@ -1,3 +1,5 @@ +option(CLANG_INSTALL_SCANBUILDPY "Install the scan-build-py tools" ON) + set (BinFiles "analyze-build" "intercept-build" @@ -31,102 +33,104 @@ set (LibEar "config.h.in" "ear.c") -foreach(BinFile ${BinFiles}) - if ("${BinFile}" STREQUAL "scan-build") - # Need to rename scan-build to scan-build-py to prevent overwriting - # scan-build Perl implementation. - add_custom_command(OUTPUT ${CMAKE_BINARY_DIR}/bin/scan-build-py +if(CLANG_INSTALL_SCANBUILDPY) + foreach(BinFile ${BinFiles}) + if ("${BinFile}" STREQUAL "scan-build") + # Need to rename scan-build to scan-build-py to prevent overwriting + # scan-build Perl implementation. + add_custom_command(OUTPUT ${CMAKE_BINARY_DIR}/bin/scan-build-py + COMMAND ${CMAKE_COMMAND} -E make_directory + ${CMAKE_BINARY_DIR}/bin + COMMAND ${CMAKE_COMMAND} -E copy + ${CMAKE_CURRENT_SOURCE_DIR}/bin/scan-build + ${CMAKE_BINARY_DIR}/bin/scan-build-py + DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/bin/scan-build) + install (PROGRAMS "bin/scan-build" + DESTINATION "${CMAKE_INSTALL_BINDIR}" + RENAME scan-build-py + COMPONENT scan-build-py) + list(APPEND Depends ${CMAKE_BINARY_DIR}/bin/scan-build-py) + else() + add_custom_command(OUTPUT ${CMAKE_BINARY_DIR}/bin/${BinFile} + COMMAND ${CMAKE_COMMAND} -E make_directory + ${CMAKE_BINARY_DIR}/bin + COMMAND ${CMAKE_COMMAND} -E copy + ${CMAKE_CURRENT_SOURCE_DIR}/bin/${BinFile} + ${CMAKE_BINARY_DIR}/bin/ + DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/bin/${BinFile}) + install(PROGRAMS bin/${BinFile} + DESTINATION "${CMAKE_INSTALL_BINDIR}" + COMPONENT scan-build-py) + list(APPEND Depends ${CMAKE_BINARY_DIR}/bin/${BinFile}) + endif() + endforeach() + + foreach(lib ${LibExecs}) + add_custom_command(OUTPUT ${CMAKE_BINARY_DIR}/libexec/${lib} COMMAND ${CMAKE_COMMAND} -E make_directory - ${CMAKE_BINARY_DIR}/bin + ${CMAKE_BINARY_DIR}/libexec COMMAND ${CMAKE_COMMAND} -E copy - ${CMAKE_CURRENT_SOURCE_DIR}/bin/scan-build - ${CMAKE_BINARY_DIR}/bin/scan-build-py - DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/bin/scan-build) - install (PROGRAMS "bin/scan-build" - DESTINATION "${CMAKE_INSTALL_BINDIR}" - RENAME scan-build-py - COMPONENT scan-build-py) - list(APPEND Depends ${CMAKE_BINARY_DIR}/bin/scan-build-py) - else() - add_custom_command(OUTPUT ${CMAKE_BINARY_DIR}/bin/${BinFile} + ${CMAKE_CURRENT_SOURCE_DIR}/libexec/${lib} + ${CMAKE_BINARY_DIR}/libexec/ + DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/libexec/${lib}) + list(APPEND Depends ${CMAKE_BINARY_DIR}/libexec/${lib}) + install(PROGRAMS libexec/${lib} + DESTINATION "${CMAKE_INSTALL_LIBEXECDIR}" + COMPONENT scan-build-py) + endforeach() + + foreach(lib ${LibScanbuild}) + add_custom_command(OUTPUT ${CMAKE_BINARY_DIR}/lib/libscanbuild/${lib} COMMAND ${CMAKE_COMMAND} -E make_directory - ${CMAKE_BINARY_DIR}/bin + ${CMAKE_BINARY_DIR}/lib + COMMAND ${CMAKE_COMMAND} -E make_directory + ${CMAKE_BINARY_DIR}/lib/libscanbuild COMMAND ${CMAKE_COMMAND} -E copy - ${CMAKE_CURRENT_SOURCE_DIR}/bin/${BinFile} - ${CMAKE_BINARY_DIR}/bin/ - DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/bin/${BinFile}) - install(PROGRAMS bin/${BinFile} - DESTINATION "${CMAKE_INSTALL_BINDIR}" + ${CMAKE_CURRENT_SOURCE_DIR}/lib/libscanbuild/${lib} + ${CMAKE_BINARY_DIR}/lib/libscanbuild/ + DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/lib/libscanbuild/${lib}) + list(APPEND Depends ${CMAKE_BINARY_DIR}/lib/libscanbuild/${lib}) + install(FILES lib/libscanbuild/${lib} + DESTINATION lib/libscanbuild COMPONENT scan-build-py) - list(APPEND Depends ${CMAKE_BINARY_DIR}/bin/${BinFile}) - endif() -endforeach() - -foreach(lib ${LibExecs}) - add_custom_command(OUTPUT ${CMAKE_BINARY_DIR}/libexec/${lib} - COMMAND ${CMAKE_COMMAND} -E make_directory - ${CMAKE_BINARY_DIR}/libexec - COMMAND ${CMAKE_COMMAND} -E copy - ${CMAKE_CURRENT_SOURCE_DIR}/libexec/${lib} - ${CMAKE_BINARY_DIR}/libexec/ - DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/libexec/${lib}) - list(APPEND Depends ${CMAKE_BINARY_DIR}/libexec/${lib}) - install(PROGRAMS libexec/${lib} - DESTINATION "${CMAKE_INSTALL_LIBEXECDIR}" - COMPONENT scan-build-py) -endforeach() + endforeach() -foreach(lib ${LibScanbuild}) - add_custom_command(OUTPUT ${CMAKE_BINARY_DIR}/lib/libscanbuild/${lib} - COMMAND ${CMAKE_COMMAND} -E make_directory - ${CMAKE_BINARY_DIR}/lib - COMMAND ${CMAKE_COMMAND} -E make_directory - ${CMAKE_BINARY_DIR}/lib/libscanbuild - COMMAND ${CMAKE_COMMAND} -E copy - ${CMAKE_CURRENT_SOURCE_DIR}/lib/libscanbuild/${lib} - ${CMAKE_BINARY_DIR}/lib/libscanbuild/ - DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/lib/libscanbuild/${lib}) - list(APPEND Depends ${CMAKE_BINARY_DIR}/lib/libscanbuild/${lib}) - install(FILES lib/libscanbuild/${lib} - DESTINATION lib/libscanbuild - COMPONENT scan-build-py) -endforeach() - -foreach(resource ${LibScanbuildResources}) - add_custom_command(OUTPUT ${CMAKE_BINARY_DIR}/lib/libscanbuild/resources/${resource} - COMMAND ${CMAKE_COMMAND} -E make_directory - ${CMAKE_BINARY_DIR}/lib - COMMAND ${CMAKE_COMMAND} -E make_directory - ${CMAKE_BINARY_DIR}/lib/libscanbuild - COMMAND ${CMAKE_COMMAND} -E make_directory - ${CMAKE_BINARY_DIR}/lib/libscanbuild/resources - COMMAND ${CMAKE_COMMAND} -E copy - ${CMAKE_CURRENT_SOURCE_DIR}/lib/libscanbuild/resources/${resource} - ${CMAKE_BINARY_DIR}/lib/libscanbuild/resources - DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/lib/libscanbuild/resources/${resource}) - list(APPEND Depends ${CMAKE_BINARY_DIR}/lib/libscanbuild/resources/${resource}) - install(FILES lib/libscanbuild/resources/${resource} - DESTINATION lib/libscanbuild/resources - COMPONENT scan-build-py) -endforeach() + foreach(resource ${LibScanbuildResources}) + add_custom_command(OUTPUT ${CMAKE_BINARY_DIR}/lib/libscanbuild/resources/${resource} + COMMAND ${CMAKE_COMMAND} -E make_directory + ${CMAKE_BINARY_DIR}/lib + COMMAND ${CMAKE_COMMAND} -E make_directory + ${CMAKE_BINARY_DIR}/lib/libscanbuild + COMMAND ${CMAKE_COMMAND} -E make_directory + ${CMAKE_BINARY_DIR}/lib/libscanbuild/resources + COMMAND ${CMAKE_COMMAND} -E copy + ${CMAKE_CURRENT_SOURCE_DIR}/lib/libscanbuild/resources/${resource} + ${CMAKE_BINARY_DIR}/lib/libscanbuild/resources + DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/lib/libscanbuild/resources/${resource}) + list(APPEND Depends ${CMAKE_BINARY_DIR}/lib/libscanbuild/resources/${resource}) + install(FILES lib/libscanbuild/resources/${resource} + DESTINATION lib/libscanbuild/resources + COMPONENT scan-build-py) + endforeach() -foreach(lib ${LibEar}) - add_custom_command(OUTPUT ${CMAKE_BINARY_DIR}/lib/libear/${lib} - COMMAND ${CMAKE_COMMAND} -E make_directory - ${CMAKE_BINARY_DIR}/lib - COMMAND ${CMAKE_COMMAND} -E make_directory - ${CMAKE_BINARY_DIR}/lib/libear - COMMAND ${CMAKE_COMMAND} -E copy - ${CMAKE_CURRENT_SOURCE_DIR}/lib/libear/${lib} - ${CMAKE_BINARY_DIR}/lib/libear/ - DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/lib/libear/${lib}) - list(APPEND Depends ${CMAKE_BINARY_DIR}/lib/libear/${lib}) - install(FILES lib/libear/${lib} - DESTINATION lib/libear - COMPONENT scan-build-py) -endforeach() + foreach(lib ${LibEar}) + add_custom_command(OUTPUT ${CMAKE_BINARY_DIR}/lib/libear/${lib} + COMMAND ${CMAKE_COMMAND} -E make_directory + ${CMAKE_BINARY_DIR}/lib + COMMAND ${CMAKE_COMMAND} -E make_directory + ${CMAKE_BINARY_DIR}/lib/libear + COMMAND ${CMAKE_COMMAND} -E copy + ${CMAKE_CURRENT_SOURCE_DIR}/lib/libear/${lib} + ${CMAKE_BINARY_DIR}/lib/libear/ + DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/lib/libear/${lib}) + list(APPEND Depends ${CMAKE_BINARY_DIR}/lib/libear/${lib}) + install(FILES lib/libear/${lib} + DESTINATION lib/libear + COMPONENT scan-build-py) + endforeach() -add_custom_target(scan-build-py ALL DEPENDS ${Depends}) -add_llvm_install_targets("install-scan-build-py" - DEPENDS scan-build-py - COMPONENT scan-build-py) + add_custom_target(scan-build-py ALL DEPENDS ${Depends}) + add_llvm_install_targets("install-scan-build-py" + DEPENDS scan-build-py + COMPONENT scan-build-py) +endif() `````````` </details> https://github.com/llvm/llvm-project/pull/172727 _______________________________________________ cfe-commits mailing list [email protected] https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
