Initial commit.
[CMakeLuaTailorHgBridge.git] / CMakeLua / Utilities / KWStyle / CMakeLists.txt
blobca8540abd9f0d66c902f12cea43ac140837c7322
1 #-----------------------------------------------------------------------------
2 # CMake uses KWStyle for checking the coding style
3 OPTION(CMAKE_USE_KWSTYLE "Run KWStyle in order to check for violations of the coding standard." OFF)
4 MARK_AS_ADVANCED(CMAKE_USE_KWSTYLE)
6 IF(CMAKE_USE_KWSTYLE)
7   FIND_PROGRAM(KWSTYLE_EXECUTABLE
8   NAMES KWStyle 
9   PATHS
10   "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Kitware Inc.\\KWStyle 1.0.0]/bin"
11   )
12   MARK_AS_ADVANCED(KWSTYLE_EXECUTABLE)
14   OPTION(KWSTYLE_USE_VIM_FORMAT "Set KWStyle to generate errors with a VIM-compatible format." OFF)
15   OPTION(KWSTYLE_USE_MSVC_FORMAT "Set KWStyle to generate errors with a VisualStudio-compatible format." OFF)
16   MARK_AS_ADVANCED(KWSTYLE_USE_VIM_FORMAT)
17   MARK_AS_ADVANCED(KWSTYLE_USE_MSVC_FORMAT)
19   IF(KWSTYLE_USE_VIM_FORMAT)
20     SET(KWSTYLE_ARGUMENTS -vim ${KWSTYLE_ARGUMENTS})
21   ENDIF(KWSTYLE_USE_VIM_FORMAT)
23   IF(KWSTYLE_USE_MSVC_FORMAT)
24     SET(KWSTYLE_ARGUMENTS -msvc ${KWSTYLE_ARGUMENTS})
25   ENDIF(KWSTYLE_USE_MSVC_FORMAT)
27   CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/Utilities/KWStyle/CMake.kws.xml.in
28                ${CMAKE_BINARY_DIR}/CMake.kws.xml)
29   CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/Utilities/KWStyle/CMakeMoreChecks.kws.xml.in
30                ${CMAKE_BINARY_DIR}/CMakeMoreChecks.kws.xml)
32   CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/Utilities/KWStyle/CMakeFiles.txt.in
33                  ${CMAKE_BINARY_DIR}/CMakeKWSFiles.txt)
35   ADD_CUSTOM_COMMAND(
36     OUTPUT ${CMAKE_BINARY_DIR}/KWStyleReport.txt
37     COMMAND ${KWSTYLE_EXECUTABLE}
38     ARGS    -xml ${CMAKE_BINARY_DIR}/CMake.kws.xml -o ${CMAKE_SOURCE_DIR}/Utilities/KWStyle/CMakeOverwrite.txt -v ${KWSTYLE_ARGUMENTS} -D ${CMAKE_BINARY_DIR}/CMakeKWSFiles.txt 
39     COMMENT "Coding Style Checker"
40     )
42   ADD_CUSTOM_TARGET(MoreStyleChecks
43     COMMAND ${KWSTYLE_EXECUTABLE}
44     -xml ${CMAKE_BINARY_DIR}/CMakeMoreChecks.kws.xml -html ${CMAKE_BINARY_DIR}/html -o ${CMAKE_SOURCE_DIR}/Utilities/KWStyle/CMakeOverwrite.txt -v ${KWSTYLE_ARGUMENTS} -D ${CMAKE_BINARY_DIR}/CMakeKWSFiles.txt 
45     COMMENT "Coding Style Checker, more checks enabled"
46     )
48   ADD_CUSTOM_TARGET(StyleCheck DEPENDS ${CMAKE_BINARY_DIR}/KWStyleReport.txt)
49 ENDIF(CMAKE_USE_KWSTYLE)