1
OPTION(ITK_USE_KWSTYLE "Enable the use of KWStyle for checking coding style." OFF)
5
OPTION(KWSTYLE_USE_VIM_FORMAT "Set KWStyle to generate errors with a VIM-compatible format." OFF)
6
OPTION(KWSTYLE_USE_MSVC_FORMAT "Set KWStyle to generate errors with a VisualStudio-compatible format." OFF)
8
FIND_PROGRAM(KWSTYLE_EXECUTABLE
17
SET(KWSTYLE_CONFIGURATION_FILE
18
${PROJECT_BINARY_DIR}/Utilities/KWStyle/ITK.kws.xml)
20
SET(KWSTYLE_ITK_FILES_LIST
21
${PROJECT_BINARY_DIR}/Utilities/KWStyle/ITKFiles.txt)
23
SET(KWSTYLE_ITK_REVIEW_FILES_LIST
24
${PROJECT_BINARY_DIR}/Utilities/KWStyle/ITKReviewFiles.txt)
26
SET(KWSTYLE_ITK_OVERWRITE_FILE
27
${PROJECT_SOURCE_DIR}/Utilities/KWStyle/ITKOverwrite.txt )
33
${PROJECT_SOURCE_DIR}/Utilities/KWStyle/ITKFiles.txt.in
34
${KWSTYLE_ITK_FILES_LIST})
37
${PROJECT_SOURCE_DIR}/Utilities/KWStyle/ITKReviewFiles.txt.in
38
${KWSTYLE_ITK_REVIEW_FILES_LIST})
41
${PROJECT_SOURCE_DIR}/Utilities/KWStyle/ITK.kws.xml.in
42
${KWSTYLE_CONFIGURATION_FILE})
46
# Define formatting for error messages
48
SET(KWSTYLE_EDITOR_FORMAT " ")
49
SET(KWSTYLE_EDITOR_FORMAT "")
50
IF(KWSTYLE_USE_VIM_FORMAT)
51
SET(KWSTYLE_EDITOR_FORMAT -vim)
52
ENDIF(KWSTYLE_USE_VIM_FORMAT)
54
IF(KWSTYLE_USE_MSVC_FORMAT)
55
SET(KWSTYLE_EDITOR_FORMAT -msvc)
56
ENDIF(KWSTYLE_USE_MSVC_FORMAT)
58
SET(KWSTYLE_ARGUMENTS_REVIEW
59
-xml ${KWSTYLE_CONFIGURATION_FILE} -v -D ${KWSTYLE_ITK_REVIEW_FILES_LIST}
60
-o ${KWSTYLE_ITK_OVERWRITE_FILE} ${KWSTYLE_EDITOR_FORMAT}
63
SET(KWSTYLE_ARGUMENTS_CODE
64
-xml ${KWSTYLE_CONFIGURATION_FILE} -v -D ${KWSTYLE_ITK_FILES_LIST}
65
-o ${KWSTYLE_ITK_OVERWRITE_FILE} ${KWSTYLE_EDITOR_FORMAT}
69
OUTPUT ${ITK_BINARY_DIR}/KWStyleReviewReport.txt
70
COMMAND ${KWSTYLE_EXECUTABLE}
71
ARGS ${KWSTYLE_ARGUMENTS_REVIEW}
72
COMMENT "Coding Style Checker"
76
OUTPUT ${ITK_BINARY_DIR}/KWStyleCodeReport.txt
77
COMMAND ${KWSTYLE_EXECUTABLE}
78
ARGS ${KWSTYLE_ARGUMENTS_CODE}
79
COMMENT "Coding Style Checker"
82
ADD_CUSTOM_TARGET(StyleCheckReview DEPENDS ${ITK_BINARY_DIR}/KWStyleReviewReport.txt)
83
ADD_CUSTOM_TARGET(StyleCheckCode DEPENDS ${ITK_BINARY_DIR}/KWStyleCodeReport.txt)
85
ADD_TEST(KWStyleReviewTest ${KWSTYLE_EXECUTABLE} ${KWSTYLE_ARGUMENTS_REVIEW})
86
ADD_TEST(KWStyleCodeTest ${KWSTYLE_EXECUTABLE} ${KWSTYLE_ARGUMENTS_CODE})
88
ENDIF( ITK_USE_KWSTYLE )