1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132
|
set (BinFiles
"analyze-build"
"intercept-build"
"scan-build")
set (LibExecs
"analyze-c++"
"analyze-cc"
"intercept-c++"
"intercept-cc")
set (LibScanbuild
"__init__.py"
"analyze.py"
"arguments.py"
"clang.py"
"compilation.py"
"intercept.py"
"report.py"
"shell.py")
set (LibScanbuildResources
"scanview.css"
"selectable.js"
"sorttable.js")
# libear is compiled dynamically in build_libear using the specified cc
# compiler.
set (LibEar
"__init__.py"
"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
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 bin
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 bin
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 libexec
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}/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(PROGRAMS 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(PROGRAMS 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(PROGRAMS 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)
|