KWStyle.cmake 1.6 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(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 ${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 ${KWSTYLE_EXECUTABLE} ${CTK_KWSTYLE_ARGUMENTS})
  42. endif()