Jonathan Roelofs | e961432 | 2015-11-09 16:12:56 +0000 | [diff] [blame] | 1 | option(CLANG_INSTALL_SCANBUILD "Install the scan-build tool" ON) |
| 2 | |
| 3 | if (WIN32 AND NOT CYGWIN) |
| 4 | set(BinFiles |
| 5 | scan-build.bat) |
| 6 | set(LibexecFiles |
| 7 | ccc-analyzer.bat |
| 8 | c++-analyzer.bat) |
| 9 | else() |
| 10 | set(BinFiles |
| 11 | scan-build) |
| 12 | set(LibexecFiles |
| 13 | ccc-analyzer |
| 14 | c++-analyzer) |
| 15 | if (APPLE) |
Jonathan Roelofs | 1ff9c63 | 2015-11-10 22:48:11 +0000 | [diff] [blame] | 16 | list(APPEND BinFiles |
| 17 | set-xcode-analyzer) |
Jonathan Roelofs | e961432 | 2015-11-09 16:12:56 +0000 | [diff] [blame] | 18 | endif() |
| 19 | endif() |
| 20 | |
| 21 | set(ManPages |
| 22 | scan-build.1) |
| 23 | |
Jonathan Roelofs | 2ec2acb | 2015-11-13 00:32:54 +0000 | [diff] [blame] | 24 | set(ShareFiles |
Jonathan Roelofs | e961432 | 2015-11-09 16:12:56 +0000 | [diff] [blame] | 25 | scanview.css |
| 26 | sorttable.js) |
| 27 | |
| 28 | |
| 29 | if(CLANG_INSTALL_SCANBUILD) |
| 30 | foreach(BinFile ${BinFiles}) |
Jonathan Roelofs | 467ab05 | 2015-11-10 22:38:59 +0000 | [diff] [blame] | 31 | add_custom_command(OUTPUT ${CMAKE_BINARY_DIR}/bin/${BinFile} |
Jonathan Roelofs | e961432 | 2015-11-09 16:12:56 +0000 | [diff] [blame] | 32 | COMMAND ${CMAKE_COMMAND} -E make_directory |
| 33 | ${CMAKE_BINARY_DIR}/bin |
| 34 | COMMAND ${CMAKE_COMMAND} -E copy |
| 35 | ${CMAKE_CURRENT_SOURCE_DIR}/${BinFile} |
Jonathan Roelofs | 2a439a1 | 2015-11-10 20:01:22 +0000 | [diff] [blame] | 36 | ${CMAKE_BINARY_DIR}/bin/ |
| 37 | DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/${BinFile}) |
Jonathan Roelofs | 1ff9c63 | 2015-11-10 22:48:11 +0000 | [diff] [blame] | 38 | list(APPEND Depends ${CMAKE_BINARY_DIR}/bin/${BinFile}) |
Jonathan Roelofs | e961432 | 2015-11-09 16:12:56 +0000 | [diff] [blame] | 39 | install(PROGRAMS ${BinFile} DESTINATION bin) |
| 40 | endforeach() |
| 41 | |
| 42 | foreach(LibexecFile ${LibexecFiles}) |
Jonathan Roelofs | 467ab05 | 2015-11-10 22:38:59 +0000 | [diff] [blame] | 43 | add_custom_command(OUTPUT ${CMAKE_BINARY_DIR}/libexec/${LibexecFile} |
Jonathan Roelofs | e961432 | 2015-11-09 16:12:56 +0000 | [diff] [blame] | 44 | COMMAND ${CMAKE_COMMAND} -E make_directory |
| 45 | ${CMAKE_BINARY_DIR}/libexec |
| 46 | COMMAND ${CMAKE_COMMAND} -E copy |
| 47 | ${CMAKE_CURRENT_SOURCE_DIR}/${LibexecFile} |
Jonathan Roelofs | 2a439a1 | 2015-11-10 20:01:22 +0000 | [diff] [blame] | 48 | ${CMAKE_BINARY_DIR}/libexec/ |
| 49 | DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/${LibexecFile}) |
Jonathan Roelofs | 1ff9c63 | 2015-11-10 22:48:11 +0000 | [diff] [blame] | 50 | list(APPEND Depends ${CMAKE_BINARY_DIR}/libexec/${LibexecFile}) |
Jonathan Roelofs | e961432 | 2015-11-09 16:12:56 +0000 | [diff] [blame] | 51 | install(PROGRAMS ${LibexecFile} DESTINATION libexec) |
| 52 | endforeach() |
| 53 | |
| 54 | foreach(ManPage ${ManPages}) |
Jonathan Roelofs | 467ab05 | 2015-11-10 22:38:59 +0000 | [diff] [blame] | 55 | add_custom_command(OUTPUT ${CMAKE_BINARY_DIR}/share/man/man1/${ManPage} |
Jonathan Roelofs | e961432 | 2015-11-09 16:12:56 +0000 | [diff] [blame] | 56 | COMMAND ${CMAKE_COMMAND} -E make_directory |
| 57 | ${CMAKE_BINARY_DIR}/share/man/man1 |
| 58 | COMMAND ${CMAKE_COMMAND} -E copy |
| 59 | ${CMAKE_CURRENT_SOURCE_DIR}/${ManPage} |
Jonathan Roelofs | 2a439a1 | 2015-11-10 20:01:22 +0000 | [diff] [blame] | 60 | ${CMAKE_BINARY_DIR}/share/man/man1/ |
| 61 | DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/${ManPage}) |
Jonathan Roelofs | 1ff9c63 | 2015-11-10 22:48:11 +0000 | [diff] [blame] | 62 | list(APPEND Depends ${CMAKE_BINARY_DIR}/share/man/man1/${ManPage}) |
Jonathan Roelofs | 9c0d3f5 | 2015-11-09 16:47:09 +0000 | [diff] [blame] | 63 | install(PROGRAMS ${ManPage} DESTINATION share/man/man1) |
Jonathan Roelofs | e961432 | 2015-11-09 16:12:56 +0000 | [diff] [blame] | 64 | endforeach() |
| 65 | |
Jonathan Roelofs | 2ec2acb | 2015-11-13 00:32:54 +0000 | [diff] [blame] | 66 | foreach(ShareFile ${ShareFiles}) |
| 67 | add_custom_command(OUTPUT ${CMAKE_BINARY_DIR}/share/scan-view/${ShareFile} |
Jonathan Roelofs | e961432 | 2015-11-09 16:12:56 +0000 | [diff] [blame] | 68 | COMMAND ${CMAKE_COMMAND} -E make_directory |
Jonathan Roelofs | 2ec2acb | 2015-11-13 00:32:54 +0000 | [diff] [blame] | 69 | ${CMAKE_BINARY_DIR}/share/scan-view |
Jonathan Roelofs | e961432 | 2015-11-09 16:12:56 +0000 | [diff] [blame] | 70 | COMMAND ${CMAKE_COMMAND} -E copy |
Jonathan Roelofs | 2ec2acb | 2015-11-13 00:32:54 +0000 | [diff] [blame] | 71 | ${CMAKE_CURRENT_SOURCE_DIR}/share/${ShareFile} |
| 72 | ${CMAKE_BINARY_DIR}/share/scan-view/ |
| 73 | DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/share/${ShareFile}) |
| 74 | list(APPEND Depends ${CMAKE_BINARY_DIR}/share/scan-view/${ShareFile}) |
NAKAMURA Takumi | 624922a | 2015-11-13 06:48:02 +0000 | [diff] [blame] | 75 | install(FILES share/${ShareFile} DESTINATION share/scan-view) |
Jonathan Roelofs | e961432 | 2015-11-09 16:12:56 +0000 | [diff] [blame] | 76 | endforeach() |
Jonathan Roelofs | 467ab05 | 2015-11-10 22:38:59 +0000 | [diff] [blame] | 77 | |
| 78 | add_custom_target(scan-build ALL DEPENDS ${Depends}) |
Aaron Ballman | 8f3f634 | 2015-11-11 18:13:42 +0000 | [diff] [blame] | 79 | set_target_properties(scan-build PROPERTIES FOLDER "Misc") |
Jonathan Roelofs | e961432 | 2015-11-09 16:12:56 +0000 | [diff] [blame] | 80 | endif() |
Jonathan Roelofs | 467ab05 | 2015-11-10 22:38:59 +0000 | [diff] [blame] | 81 | |