##// END OF EJS Templates
Give executable name to parent to be able to find in in the package cmake file
Give executable name to parent to be able to find in in the package cmake file

File last commit:

r14:5bce99742c6f
r49:d3f4b1e4846d
Show More
sciqlop_code_cppcheck.cmake
52 lines | 1.7 KiB | text/x-cmake | CMakeLexer
/ cmake / sciqlop_code_cppcheck.cmake
mperrinel
Initialisation de la configuration Linux
r14 #
# sciqlop_code_analysis.cmake
# Launch code source analysis with cppcheck. Can be activated with the
# ENABLE_CPPCHECK option.
#
# The following CACHE variables are available:
# * CPPCHECK_EXTRA_ARGS: extra arguments for cppcheck;
# * CPPCHECK_OUTPUT: path to the xml report of cppcheck.
#
# The following variables are used (must be set by the cmake file calling this
# one):
# * ANALYSIS_INPUT_DIRS: directories to analyze;
# * ANALYSIS_EXCLUDE_DIRS: directories to exclude from the analysis.
#
#
# Analyze the source code with cppcheck
#
OPTION (ENABLE_CPPCHECK "Analyze the source code with cppcheck" ON)
IF (ENABLE_CPPCHECK)
# Make sure cppcheck has been found, otherwise the source code can't be
# analyzed
IF (CPPCHECK_FOUND)
SET (CPPCHECK_EXTRA_ARGS --inline-suppr --xml --xml-version=2 --enable="warning,style" --force -v
CACHE STRING "Extra arguments for cppcheck")
MARK_AS_ADVANCED (CPPCHECK_EXTRA_ARGS)
SET (CPPCHECK_OUTPUT "${CMAKE_BINARY_DIR}/cppcheck-report.xml"
CACHE STRING "Output file for the cppcheck report")
MARK_AS_ADVANCED (CPPCHECK_OUTPUT)
SET (CPPCHECK_EXCLUDE_DIRS)
FOREACH (dir ${ANALYSIS_EXCLUDE_DIRS})
LIST (APPEND CPPCHECK_EXCLUDE_DIRS "-i${dir}")
ENDFOREACH ()
# Add the analyze target to launch cppcheck
ADD_CUSTOM_TARGET (cppcheck
COMMAND
${CPPCHECK_EXECUTABLE}
${CPPCHECK_EXTRA_ARGS}
${ANALYSIS_INPUT_DIRS}
${CPPCHECK_EXCLUDE_DIRS}
2> ${CPPCHECK_OUTPUT}
)
ELSE (CPPCHECK_FOUND)
MESSAGE (STATUS "The source code won't be analyzed - Cppcheck not found")
ENDIF (CPPCHECK_FOUND)
ENDIF (ENABLE_CPPCHECK)