#-----------------------------------------------------------------------------
# GDCM uses KWStyle for checking the coding style
OPTION(GDCM_USE_KWSTYLE "Run KWStyle in order to check for violations of the coding standard." OFF)
MARK_AS_ADVANCED(GDCM_USE_KWSTYLE)

IF(GDCM_USE_KWSTYLE)
  find_package(KWStyle)

  CONFIGURE_FILE(${GDCM_SOURCE_DIR}/Utilities/KWStyle/GDCM.kws.xml.in
                 ${GDCM_BINARY_DIR}/Utilities/KWStyle/GDCM.kws.xml)
  #CONFIGURE_FILE(${GDCM_SOURCE_DIR}/Utilities/KWStyle/GDCMMoreChecks.kws.xml.in
  #             ${GDCM_BINARY_DIR}/GDCMMoreChecks.kws.xml)

  CONFIGURE_FILE(${GDCM_SOURCE_DIR}/Utilities/KWStyle/GDCMFiles.txt.in
                 ${GDCM_BINARY_DIR}/Utilities/KWStyle/GDCMFiles.txt)

  ADD_CUSTOM_COMMAND(
    OUTPUT ${GDCM_BINARY_DIR}/KWStyleReport.txt
    COMMAND ${KWSTYLE_EXECUTABLE}
    ARGS    -xml ${GDCM_BINARY_DIR}/Utilities/KWStyle/GDCM.kws.xml -o ${GDCM_SOURCE_DIR}/Utilities/KWStyle/GDCMOverwrite.txt -v ${KWSTYLE_ARGUMENTS} -D ${GDCM_BINARY_DIR}/Utilities/KWStyle/GDCMFiles.txt
    COMMENT "Coding Style Checker"
    )

  #ADD_CUSTOM_TARGET(MoreStyleChecks
  #  COMMAND ${KWSTYLE_EXECUTABLE}
  #  -xml ${GDCM_BINARY_DIR}/GDCMMoreChecks.kws.xml -html ${GDCM_BINARY_DIR}/html -o ${GDCM_SOURCE_DIR}/Utilities/KWStyle/GDCMOverwrite.txt -v ${KWSTYLE_ARGUMENTS} -D ${GDCM_BINARY_DIR}/GDCMKWSFiles.txt
  #  COMMENT "Coding Style Checker, more checks enabled"
  #  )

  ADD_CUSTOM_TARGET(StyleCheck DEPENDS ${GDCM_BINARY_DIR}/KWStyleReport.txt)
ENDIF(GDCM_USE_KWSTYLE)
