CMakeLists.txt 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  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)
  5. IF(CMAKE_USE_KWSTYLE)
  6. FIND_PROGRAM(KWSTYLE_EXECUTABLE
  7. NAMES KWStyle
  8. PATHS
  9. "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Kitware Inc.\\KWStyle 1.0.0]/bin"
  10. )
  11. MARK_AS_ADVANCED(KWSTYLE_EXECUTABLE)
  12. OPTION(KWSTYLE_USE_VIM_FORMAT "Set KWStyle to generate errors with a VIM-compatible format." OFF)
  13. OPTION(KWSTYLE_USE_MSVC_FORMAT "Set KWStyle to generate errors with a VisualStudio-compatible format." OFF)
  14. MARK_AS_ADVANCED(KWSTYLE_USE_VIM_FORMAT)
  15. MARK_AS_ADVANCED(KWSTYLE_USE_MSVC_FORMAT)
  16. IF(KWSTYLE_USE_VIM_FORMAT)
  17. SET(KWSTYLE_ARGUMENTS -vim ${KWSTYLE_ARGUMENTS})
  18. ENDIF(KWSTYLE_USE_VIM_FORMAT)
  19. IF(KWSTYLE_USE_MSVC_FORMAT)
  20. SET(KWSTYLE_ARGUMENTS -msvc ${KWSTYLE_ARGUMENTS})
  21. ENDIF(KWSTYLE_USE_MSVC_FORMAT)
  22. CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/Utilities/KWStyle/CMake.kws.xml.in
  23. ${CMAKE_BINARY_DIR}/CMake.kws.xml)
  24. CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/Utilities/KWStyle/CMakeMoreChecks.kws.xml.in
  25. ${CMAKE_BINARY_DIR}/CMakeMoreChecks.kws.xml)
  26. CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/Utilities/KWStyle/CMakeFiles.txt.in
  27. ${CMAKE_BINARY_DIR}/CMakeKWSFiles.txt)
  28. ADD_CUSTOM_COMMAND(
  29. OUTPUT ${CMAKE_BINARY_DIR}/KWStyleReport.txt
  30. COMMAND ${KWSTYLE_EXECUTABLE}
  31. 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
  32. COMMENT "Coding Style Checker"
  33. )
  34. ADD_CUSTOM_TARGET(MoreStyleChecks
  35. COMMAND ${KWSTYLE_EXECUTABLE}
  36. -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
  37. COMMENT "Coding Style Checker, more checks enabled"
  38. )
  39. ADD_CUSTOM_TARGET(StyleCheck DEPENDS ${CMAKE_BINARY_DIR}/KWStyleReport.txt)
  40. ENDIF(CMAKE_USE_KWSTYLE)