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) 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) 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) 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) endforeach() add_custom_target(scan-build ALL DEPENDS ${Depends}) set_target_properties(scan-build PROPERTIES FOLDER "Misc") endif()