forked from OSchip/llvm-project
100 lines
3.7 KiB
CMake
100 lines
3.7 KiB
CMake
option(CLANG_INSTALL_SCANBUILD "Install the scan-build tool" ON)
|
|
|
|
include(GNUInstallDirs)
|
|
|
|
if (WIN32 AND NOT CYGWIN)
|
|
set(BinFiles
|
|
scan-build
|
|
scan-build.bat)
|
|
set(LibexecFiles
|
|
ccc-analyzer
|
|
c++-analyzer
|
|
ccc-analyzer.bat
|
|
c++-analyzer.bat)
|
|
else()
|
|
set(BinFiles
|
|
scan-build)
|
|
set(LibexecFiles
|
|
ccc-analyzer
|
|
c++-analyzer)
|
|
if (APPLE)
|
|
list(APPEND BinFiles
|
|
set-xcode-analyzer)
|
|
endif()
|
|
endif()
|
|
|
|
set(ManPages
|
|
scan-build.1)
|
|
|
|
set(ShareFiles
|
|
scanview.css
|
|
sorttable.js)
|
|
|
|
|
|
if(CLANG_INSTALL_SCANBUILD)
|
|
foreach(BinFile ${BinFiles})
|
|
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})
|
|
list(APPEND Depends ${CMAKE_BINARY_DIR}/bin/${BinFile})
|
|
install(PROGRAMS bin/${BinFile}
|
|
DESTINATION bin
|
|
COMPONENT scan-build)
|
|
endforeach()
|
|
|
|
foreach(LibexecFile ${LibexecFiles})
|
|
add_custom_command(OUTPUT ${CMAKE_BINARY_DIR}/libexec/${LibexecFile}
|
|
COMMAND ${CMAKE_COMMAND} -E make_directory
|
|
${CMAKE_BINARY_DIR}/libexec
|
|
COMMAND ${CMAKE_COMMAND} -E copy
|
|
${CMAKE_CURRENT_SOURCE_DIR}/libexec/${LibexecFile}
|
|
${CMAKE_BINARY_DIR}/libexec/
|
|
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/libexec/${LibexecFile})
|
|
list(APPEND Depends ${CMAKE_BINARY_DIR}/libexec/${LibexecFile})
|
|
install(PROGRAMS libexec/${LibexecFile}
|
|
DESTINATION libexec
|
|
COMPONENT scan-build)
|
|
endforeach()
|
|
|
|
foreach(ManPage ${ManPages})
|
|
add_custom_command(OUTPUT ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_MANDIR}/man1/${ManPage}
|
|
COMMAND ${CMAKE_COMMAND} -E make_directory
|
|
${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_MANDIR}/man1
|
|
COMMAND ${CMAKE_COMMAND} -E copy
|
|
${CMAKE_CURRENT_SOURCE_DIR}/man/${ManPage}
|
|
${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_MANDIR}/man1/
|
|
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/man/${ManPage})
|
|
list(APPEND Depends ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_MANDIR}/man1/${ManPage})
|
|
install(PROGRAMS man/${ManPage}
|
|
DESTINATION ${CMAKE_INSTALL_MANDIR}/man1
|
|
COMPONENT scan-build)
|
|
endforeach()
|
|
|
|
foreach(ShareFile ${ShareFiles})
|
|
add_custom_command(OUTPUT ${CMAKE_BINARY_DIR}/share/scan-build/${ShareFile}
|
|
COMMAND ${CMAKE_COMMAND} -E make_directory
|
|
${CMAKE_BINARY_DIR}/share/scan-build
|
|
COMMAND ${CMAKE_COMMAND} -E copy
|
|
${CMAKE_CURRENT_SOURCE_DIR}/share/scan-build/${ShareFile}
|
|
${CMAKE_BINARY_DIR}/share/scan-build/
|
|
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/share/scan-build/${ShareFile})
|
|
list(APPEND Depends ${CMAKE_BINARY_DIR}/share/scan-build/${ShareFile})
|
|
install(FILES share/scan-build/${ShareFile}
|
|
DESTINATION share/scan-build
|
|
COMPONENT scan-build)
|
|
endforeach()
|
|
|
|
add_custom_target(scan-build ALL DEPENDS ${Depends})
|
|
set_target_properties(scan-build PROPERTIES FOLDER "Misc")
|
|
|
|
if(NOT LLVM_ENABLE_IDE)
|
|
add_llvm_install_targets("install-scan-build"
|
|
DEPENDS scan-build
|
|
COMPONENT scan-build)
|
|
endif()
|
|
endif()
|