Home | History | Annotate | Line # | Download | only in scan-build
CMakeLists.txt revision 1.1.1.2
      1 option(CLANG_INSTALL_SCANBUILD "Install the scan-build tool" ON)
      2 
      3 include(GNUInstallDirs)
      4 
      5 if (WIN32 AND NOT CYGWIN)
      6   set(BinFiles
      7         scan-build
      8         scan-build.bat
      9 	)
     10   set(LibexecFiles
     11         ccc-analyzer
     12         c++-analyzer
     13         ccc-analyzer.bat
     14         c++-analyzer.bat
     15 	)
     16 else()
     17   set(BinFiles
     18         scan-build
     19 	)
     20   set(LibexecFiles
     21         ccc-analyzer
     22         c++-analyzer
     23 	)
     24   if (APPLE)
     25     list(APPEND BinFiles
     26            set-xcode-analyzer
     27 	   )
     28   endif()
     29 endif()
     30 
     31 set(ManPages
     32       scan-build.1)
     33 
     34 set(ShareFiles
     35       scanview.css
     36       sorttable.js)
     37 
     38 
     39 if(CLANG_INSTALL_SCANBUILD)
     40   foreach(BinFile ${BinFiles})
     41     add_custom_command(OUTPUT ${CMAKE_BINARY_DIR}/bin/${BinFile}
     42                        COMMAND ${CMAKE_COMMAND} -E make_directory
     43                          ${CMAKE_BINARY_DIR}/bin
     44                        COMMAND ${CMAKE_COMMAND} -E copy
     45                          ${CMAKE_CURRENT_SOURCE_DIR}/bin/${BinFile}
     46                          ${CMAKE_BINARY_DIR}/bin/
     47                        DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/bin/${BinFile})
     48     list(APPEND Depends ${CMAKE_BINARY_DIR}/bin/${BinFile})
     49     install(PROGRAMS bin/${BinFile}
     50             DESTINATION bin
     51             COMPONENT scan-build)
     52   endforeach()
     53 
     54   foreach(LibexecFile ${LibexecFiles})
     55     add_custom_command(OUTPUT ${CMAKE_BINARY_DIR}/libexec/${LibexecFile}
     56                        COMMAND ${CMAKE_COMMAND} -E make_directory
     57                          ${CMAKE_BINARY_DIR}/libexec
     58                        COMMAND ${CMAKE_COMMAND} -E copy
     59                          ${CMAKE_CURRENT_SOURCE_DIR}/libexec/${LibexecFile}
     60                          ${CMAKE_BINARY_DIR}/libexec/
     61                        DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/libexec/${LibexecFile})
     62     list(APPEND Depends ${CMAKE_BINARY_DIR}/libexec/${LibexecFile})
     63     install(PROGRAMS libexec/${LibexecFile}
     64             DESTINATION libexec
     65             COMPONENT scan-build)
     66   endforeach()
     67 
     68   foreach(ManPage ${ManPages})
     69     add_custom_command(OUTPUT ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_MANDIR}/man1/${ManPage}
     70                        COMMAND ${CMAKE_COMMAND} -E make_directory
     71                          ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_MANDIR}/man1
     72                        COMMAND ${CMAKE_COMMAND} -E copy
     73                          ${CMAKE_CURRENT_SOURCE_DIR}/man/${ManPage}
     74                          ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_MANDIR}/man1/
     75                        DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/man/${ManPage})
     76     list(APPEND Depends ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_MANDIR}/man1/${ManPage})
     77     install(PROGRAMS man/${ManPage}
     78             DESTINATION ${CMAKE_INSTALL_MANDIR}/man1
     79             COMPONENT scan-build)
     80   endforeach()
     81 
     82   foreach(ShareFile ${ShareFiles})
     83     add_custom_command(OUTPUT ${CMAKE_BINARY_DIR}/share/scan-build/${ShareFile}
     84                        COMMAND ${CMAKE_COMMAND} -E make_directory
     85                          ${CMAKE_BINARY_DIR}/share/scan-build
     86                        COMMAND ${CMAKE_COMMAND} -E copy
     87                          ${CMAKE_CURRENT_SOURCE_DIR}/share/scan-build/${ShareFile}
     88                          ${CMAKE_BINARY_DIR}/share/scan-build/
     89                        DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/share/scan-build/${ShareFile})
     90     list(APPEND Depends ${CMAKE_BINARY_DIR}/share/scan-build/${ShareFile})
     91     install(FILES share/scan-build/${ShareFile}
     92             DESTINATION share/scan-build
     93             COMPONENT scan-build)
     94   endforeach()
     95 
     96   add_custom_target(scan-build ALL DEPENDS ${Depends})
     97   set_target_properties(scan-build PROPERTIES FOLDER "Misc")
     98 
     99   if(NOT LLVM_ENABLE_IDE)
    100     add_llvm_install_targets("install-scan-build"
    101                              DEPENDS scan-build
    102                              COMPONENT scan-build)
    103   endif()
    104 endif()
    105