blob: 8a792019fbe0fdb799860fba11b1918c1051f39c [file] [log] [blame]
add_custom_target(scan-build ALL)
option(CLANG_INSTALL_SCANBUILD "Install the scan-build tool" ON)
if (WIN32 AND NOT CYGWIN)
set(BinFiles
scan-build.bat)
set(LibexecFiles
ccc-analyzer.bat
c++-analyzer.bat)
else()
set(BinFiles
scan-build)
set(LibexecFiles
ccc-analyzer
c++-analyzer)
if (APPLE)
set(BinFiles ${BinFiles}
set-xcode-analyzer)
endif()
endif()
set(ManPages
scan-build.1)
set(ResourceFiles
scanview.css
sorttable.js)
if(CLANG_INSTALL_SCANBUILD)
foreach(BinFile ${BinFiles})
add_custom_command(TARGET scan-build PRE_BUILD
COMMAND ${CMAKE_COMMAND} -E make_directory
${CMAKE_BINARY_DIR}/bin
COMMAND ${CMAKE_COMMAND} -E copy
${CMAKE_CURRENT_SOURCE_DIR}/${BinFile}
${CMAKE_BINARY_DIR}/bin/)
install(PROGRAMS ${BinFile} DESTINATION bin)
endforeach()
foreach(LibexecFile ${LibexecFiles})
add_custom_command(TARGET scan-build PRE_BUILD
COMMAND ${CMAKE_COMMAND} -E make_directory
${CMAKE_BINARY_DIR}/libexec
COMMAND ${CMAKE_COMMAND} -E copy
${CMAKE_CURRENT_SOURCE_DIR}/${LibexecFile}
${CMAKE_BINARY_DIR}/libexec/)
install(PROGRAMS ${LibexecFile} DESTINATION libexec)
endforeach()
foreach(ManPage ${ManPages})
add_custom_command(TARGET scan-build PRE_BUILD
COMMAND ${CMAKE_COMMAND} -E make_directory
${CMAKE_BINARY_DIR}/share/man/man1
COMMAND ${CMAKE_COMMAND} -E copy
${CMAKE_CURRENT_SOURCE_DIR}/${ManPage}
${CMAKE_BINARY_DIR}/share/man/man1/)
install(PROGRAMS ${ManPage} DESTINATION share/man/man1)
endforeach()
foreach(ResourceFile ${ResourceFiles})
add_custom_command(TARGET scan-build PRE_BUILD
COMMAND ${CMAKE_COMMAND} -E make_directory
${CMAKE_BINARY_DIR}/bin
COMMAND ${CMAKE_COMMAND} -E copy
${CMAKE_CURRENT_SOURCE_DIR}/${ResourceFile}
${CMAKE_BINARY_DIR}/bin/)
install(FILES ${ResourceFile} DESTINATION bin)
endforeach()
endif()