cmlib/CMLibCodeAnalysisPvsStudio.cmake

32 lines
1.2 KiB
CMake
Raw Normal View History

function(add_pvs_check)
list(GET ARGN 0 _target)
2019-02-15 21:00:53 +00:00
if(CMAKE_EXPORT_COMPILE_COMMANDS)
include(PVS-Studio)
find_program(PVS_STUDIO_ANALYZER_EXE NAMES pvs-studio-analyzer)
if(PVS_STUDIO_ANALYZER_EXE)
if(NOT TARGET pvs-check)
add_custom_target(pvs-check)
endif()
pvs_studio_add_target(TARGET pvs-check-${_target}
DEPENDS ${_target}
COMPILE_COMMANDS HIDE_HELP OUTPUT
FORMAT errorfile
CONFIG "${CMAKE_BINARY_DIR}/PVS-Studio-${_target}.cfg"
ARGS --analysis-mode
29
--exclude-path
${CMAKE_CURRENT_BINARY_DIR}/${_target}_autogen
MODE GA:1,2,3;64:1;OP:1,2;CS:1,2)
add_dependencies(pvs-check pvs-check-${_target})
else()
message(STATUS "CMLIB warning:")
message(STATUS " PVS-Studio analyzer is not found")
endif()
2019-02-15 21:00:53 +00:00
else()
2019-08-13 19:09:42 +00:00
message(STATUS "CMLIB warning:")
message(
STATUS " Option CMAKE_EXPORT_COMPILE_COMMANDS is not set. PVS checks will be disabled.")
2019-02-15 21:00:53 +00:00
endif()
endfunction()