1a9ac8606Spatrickset (BinFiles 2a9ac8606Spatrick "analyze-build" 3a9ac8606Spatrick "intercept-build" 4a9ac8606Spatrick "scan-build") 5a9ac8606Spatrick 6a9ac8606Spatrickset (LibExecs 7a9ac8606Spatrick "analyze-c++" 8a9ac8606Spatrick "analyze-cc" 9a9ac8606Spatrick "intercept-c++" 10a9ac8606Spatrick "intercept-cc") 11a9ac8606Spatrick 12a9ac8606Spatrickset (LibScanbuild 13a9ac8606Spatrick "__init__.py" 14a9ac8606Spatrick "analyze.py" 15a9ac8606Spatrick "arguments.py" 16a9ac8606Spatrick "clang.py" 17a9ac8606Spatrick "compilation.py" 18a9ac8606Spatrick "intercept.py" 19a9ac8606Spatrick "report.py" 20a9ac8606Spatrick "shell.py") 21a9ac8606Spatrick 22a9ac8606Spatrickset (LibScanbuildResources 23a9ac8606Spatrick "scanview.css" 24a9ac8606Spatrick "selectable.js" 25a9ac8606Spatrick "sorttable.js") 26a9ac8606Spatrick 27a9ac8606Spatrick# libear is compiled dynamically in build_libear using the specified cc 28a9ac8606Spatrick# compiler. 29a9ac8606Spatrickset (LibEar 30a9ac8606Spatrick "__init__.py" 31a9ac8606Spatrick "config.h.in" 32a9ac8606Spatrick "ear.c") 33a9ac8606Spatrick 34a9ac8606Spatrickforeach(BinFile ${BinFiles}) 35a9ac8606Spatrick if ("${BinFile}" STREQUAL "scan-build") 36a9ac8606Spatrick # Need to rename scan-build to scan-build-py to prevent overwriting 37a9ac8606Spatrick # scan-build Perl implementation. 38a9ac8606Spatrick add_custom_command(OUTPUT ${CMAKE_BINARY_DIR}/bin/scan-build-py 39a9ac8606Spatrick COMMAND ${CMAKE_COMMAND} -E make_directory 40a9ac8606Spatrick ${CMAKE_BINARY_DIR}/bin 41a9ac8606Spatrick COMMAND ${CMAKE_COMMAND} -E copy 42a9ac8606Spatrick ${CMAKE_CURRENT_SOURCE_DIR}/bin/scan-build 43a9ac8606Spatrick ${CMAKE_BINARY_DIR}/bin/scan-build-py 44a9ac8606Spatrick DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/bin/scan-build) 45a9ac8606Spatrick install (PROGRAMS "bin/scan-build" 46*12c85518Srobert DESTINATION "${CMAKE_INSTALL_BINDIR}" 47a9ac8606Spatrick RENAME scan-build-py 48a9ac8606Spatrick COMPONENT scan-build-py) 49a9ac8606Spatrick list(APPEND Depends ${CMAKE_BINARY_DIR}/bin/scan-build-py) 50a9ac8606Spatrick else() 51a9ac8606Spatrick add_custom_command(OUTPUT ${CMAKE_BINARY_DIR}/bin/${BinFile} 52a9ac8606Spatrick COMMAND ${CMAKE_COMMAND} -E make_directory 53a9ac8606Spatrick ${CMAKE_BINARY_DIR}/bin 54a9ac8606Spatrick COMMAND ${CMAKE_COMMAND} -E copy 55a9ac8606Spatrick ${CMAKE_CURRENT_SOURCE_DIR}/bin/${BinFile} 56a9ac8606Spatrick ${CMAKE_BINARY_DIR}/bin/ 57a9ac8606Spatrick DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/bin/${BinFile}) 58a9ac8606Spatrick install(PROGRAMS bin/${BinFile} 59*12c85518Srobert DESTINATION "${CMAKE_INSTALL_BINDIR}" 60a9ac8606Spatrick COMPONENT scan-build-py) 61a9ac8606Spatrick list(APPEND Depends ${CMAKE_BINARY_DIR}/bin/${BinFile}) 62a9ac8606Spatrick endif() 63a9ac8606Spatrickendforeach() 64a9ac8606Spatrick 65a9ac8606Spatrickforeach(lib ${LibExecs}) 66a9ac8606Spatrick add_custom_command(OUTPUT ${CMAKE_BINARY_DIR}/libexec/${lib} 67a9ac8606Spatrick COMMAND ${CMAKE_COMMAND} -E make_directory 68a9ac8606Spatrick ${CMAKE_BINARY_DIR}/libexec 69a9ac8606Spatrick COMMAND ${CMAKE_COMMAND} -E copy 70a9ac8606Spatrick ${CMAKE_CURRENT_SOURCE_DIR}/libexec/${lib} 71a9ac8606Spatrick ${CMAKE_BINARY_DIR}/libexec/ 72a9ac8606Spatrick DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/libexec/${lib}) 73a9ac8606Spatrick list(APPEND Depends ${CMAKE_BINARY_DIR}/libexec/${lib}) 74a9ac8606Spatrick install(PROGRAMS libexec/${lib} 75*12c85518Srobert DESTINATION "${CMAKE_INSTALL_LIBEXECDIR}" 76a9ac8606Spatrick COMPONENT scan-build-py) 77a9ac8606Spatrickendforeach() 78a9ac8606Spatrick 79a9ac8606Spatrickforeach(lib ${LibScanbuild}) 80a9ac8606Spatrick add_custom_command(OUTPUT ${CMAKE_BINARY_DIR}/lib/libscanbuild/${lib} 81a9ac8606Spatrick COMMAND ${CMAKE_COMMAND} -E make_directory 82a9ac8606Spatrick ${CMAKE_BINARY_DIR}/lib 83a9ac8606Spatrick COMMAND ${CMAKE_COMMAND} -E make_directory 84a9ac8606Spatrick ${CMAKE_BINARY_DIR}/lib/libscanbuild 85a9ac8606Spatrick COMMAND ${CMAKE_COMMAND} -E copy 86a9ac8606Spatrick ${CMAKE_CURRENT_SOURCE_DIR}/lib/libscanbuild/${lib} 87a9ac8606Spatrick ${CMAKE_BINARY_DIR}/lib/libscanbuild/ 88a9ac8606Spatrick DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/lib/libscanbuild/${lib}) 89a9ac8606Spatrick list(APPEND Depends ${CMAKE_BINARY_DIR}/lib/libscanbuild/${lib}) 90*12c85518Srobert install(FILES lib/libscanbuild/${lib} 91*12c85518Srobert DESTINATION lib${CLANG_LIBDIR_SUFFIX}/libscanbuild 92a9ac8606Spatrick COMPONENT scan-build-py) 93a9ac8606Spatrickendforeach() 94a9ac8606Spatrick 95a9ac8606Spatrickforeach(resource ${LibScanbuildResources}) 96a9ac8606Spatrick add_custom_command(OUTPUT ${CMAKE_BINARY_DIR}/lib/libscanbuild/resources/${resource} 97a9ac8606Spatrick COMMAND ${CMAKE_COMMAND} -E make_directory 98a9ac8606Spatrick ${CMAKE_BINARY_DIR}/lib 99a9ac8606Spatrick COMMAND ${CMAKE_COMMAND} -E make_directory 100a9ac8606Spatrick ${CMAKE_BINARY_DIR}/lib/libscanbuild 101a9ac8606Spatrick COMMAND ${CMAKE_COMMAND} -E make_directory 102a9ac8606Spatrick ${CMAKE_BINARY_DIR}/lib/libscanbuild/resources 103a9ac8606Spatrick COMMAND ${CMAKE_COMMAND} -E copy 104a9ac8606Spatrick ${CMAKE_CURRENT_SOURCE_DIR}/lib/libscanbuild/resources/${resource} 105a9ac8606Spatrick ${CMAKE_BINARY_DIR}/lib/libscanbuild/resources 106a9ac8606Spatrick DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/lib/libscanbuild/resources/${resource}) 107a9ac8606Spatrick list(APPEND Depends ${CMAKE_BINARY_DIR}/lib/libscanbuild/resources/${resource}) 108*12c85518Srobert install(FILES lib/libscanbuild/resources/${resource} 109*12c85518Srobert DESTINATION lib${CLANG_LIBDIR_SUFFIX}/libscanbuild/resources 110a9ac8606Spatrick COMPONENT scan-build-py) 111a9ac8606Spatrickendforeach() 112a9ac8606Spatrick 113a9ac8606Spatrickforeach(lib ${LibEar}) 114a9ac8606Spatrick add_custom_command(OUTPUT ${CMAKE_BINARY_DIR}/lib/libear/${lib} 115a9ac8606Spatrick COMMAND ${CMAKE_COMMAND} -E make_directory 116a9ac8606Spatrick ${CMAKE_BINARY_DIR}/lib 117a9ac8606Spatrick COMMAND ${CMAKE_COMMAND} -E make_directory 118a9ac8606Spatrick ${CMAKE_BINARY_DIR}/lib/libear 119a9ac8606Spatrick COMMAND ${CMAKE_COMMAND} -E copy 120a9ac8606Spatrick ${CMAKE_CURRENT_SOURCE_DIR}/lib/libear/${lib} 121a9ac8606Spatrick ${CMAKE_BINARY_DIR}/lib/libear/ 122a9ac8606Spatrick DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/lib/libear/${lib}) 123a9ac8606Spatrick list(APPEND Depends ${CMAKE_BINARY_DIR}/lib/libear/${lib}) 124*12c85518Srobert install(FILES lib/libear/${lib} 125*12c85518Srobert DESTINATION lib${CLANG_LIBDIR_SUFFIX}/libear 126a9ac8606Spatrick COMPONENT scan-build-py) 127a9ac8606Spatrickendforeach() 128a9ac8606Spatrick 129a9ac8606Spatrickadd_custom_target(scan-build-py ALL DEPENDS ${Depends}) 130a9ac8606Spatrickadd_llvm_install_targets("install-scan-build-py" 131a9ac8606Spatrick DEPENDS scan-build-py 132a9ac8606Spatrick COMPONENT scan-build-py) 133