KWStyle.cmake 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. IF( CTK_USE_KWSTYLE )
  2. SET(msvc_default OFF)
  3. IF(CMAKE_GENERATOR MATCHES "Visual Studio")
  4. SET(msvc_default ON)
  5. ENDIF()
  6. OPTION(KWSTYLE_USE_VIM_FORMAT "Set KWStyle to generate errors with a VIM-compatible format." OFF)
  7. OPTION(KWSTYLE_USE_MSVC_FORMAT "Set KWStyle to generate errors with a VisualStudio-compatible format." ${msvc_default})
  8. OPTION(KWSTYLE_USE_GCC_FORMAT "Set KWStyle to generate errors with a GCC-compatible format." OFF)
  9. FIND_PROGRAM(CTK_KWSTYLE_EXECUTABLE
  10. NAMES KWStyle
  11. PATHS
  12. /usr/local/bin
  13. )
  14. CONFIGURE_FILE(
  15. ${PROJECT_SOURCE_DIR}/Utilities/KWStyle/qCTKFiles.txt.in
  16. ${PROJECT_BINARY_DIR}/Utilities/KWStyle/qCTKFiles.txt)
  17. CONFIGURE_FILE(
  18. ${PROJECT_SOURCE_DIR}/Utilities/KWStyle/qCTK.kws.xml.in
  19. ${PROJECT_BINARY_DIR}/Utilities/KWStyle/qCTK.kws.xml)
  20. SET(CTK_KWSTYLE_ARGUMENTS
  21. -xml ${PROJECT_BINARY_DIR}/Utilities/KWStyle/qCTK.kws.xml -v
  22. -D ${PROJECT_BINARY_DIR}/Utilities/KWStyle/qCTKFiles.txt
  23. -o ${PROJECT_SOURCE_DIR}/Utilities/KWStyle/qCTKOverwrite.txt
  24. )
  25. IF(KWSTYLE_USE_VIM_FORMAT)
  26. LIST(APPEND CTK_KWSTYLE_ARGUMENTS -vim)
  27. ENDIF()
  28. IF(KWSTYLE_USE_MSVC_FORMAT)
  29. LIST(APPEND CTK_KWSTYLE_ARGUMENTS -msvc)
  30. ENDIF()
  31. IF(KWSTYLE_USE_GCC_FORMAT)
  32. LIST(APPEND CTK_KWSTYLE_ARGUMENTS -gcc)
  33. ENDIF()
  34. ADD_CUSTOM_COMMAND(
  35. OUTPUT ${CTK_BINARY_DIR}/qCTKStyleReport.txt
  36. COMMAND ${CTK_KWSTYLE_EXECUTABLE}
  37. ARGS ${CTK_KWSTYLE_ARGUMENTS}
  38. COMMENT "Coding Style Checker qCTK style"
  39. )
  40. ADD_CUSTOM_TARGET(qCTKStyleCheck DEPENDS ${CTK_BINARY_DIR}/qCTKStyleReport.txt)
  41. ADD_TEST(qCTKStyleTest ${CTK_KWSTYLE_EXECUTABLE} ${CTK_KWSTYLE_ARGUMENTS})
  42. ENDIF( CTK_USE_KWSTYLE )