summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Utilities/CMakeLists.txt2
-rw-r--r--Utilities/KWStyle/CMake.kws.xml.in9
-rw-r--r--Utilities/KWStyle/CMakeFiles.txt.in13
-rw-r--r--Utilities/KWStyle/CMakeLists.txt41
-rw-r--r--Utilities/KWStyle/CMakeOverwrite.txt0
-rw-r--r--Utilities/KWStyle/Headers/CMakeHeader.h16
6 files changed, 80 insertions, 1 deletions
diff --git a/Utilities/CMakeLists.txt b/Utilities/CMakeLists.txt
index 3bc5840891..5eea4cefe3 100644
--- a/Utilities/CMakeLists.txt
+++ b/Utilities/CMakeLists.txt
@@ -1,4 +1,4 @@
-SUBDIRS(Doxygen)
+SUBDIRS(Doxygen KWStyle)
SET(CMD_DIR ${EXECUTABLE_OUTPUT_PATH}/${CMAKE_CFG_INTDIR})
IF(WIN32)
diff --git a/Utilities/KWStyle/CMake.kws.xml.in b/Utilities/KWStyle/CMake.kws.xml.in
new file mode 100644
index 0000000000..a567cb4dc8
--- /dev/null
+++ b/Utilities/KWStyle/CMake.kws.xml.in
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<Description>
+<LineLength>79</LineLength>
+<Header>"@CMAKE_SOURCE_DIR@/Utilities/KWStyle/Headers",false,true</Header>
+<Functions>
+<regex>[A-Z]</regex>
+<length>100</length>
+</Functions>
+</Description>
diff --git a/Utilities/KWStyle/CMakeFiles.txt.in b/Utilities/KWStyle/CMakeFiles.txt.in
new file mode 100644
index 0000000000..bee914f893
--- /dev/null
+++ b/Utilities/KWStyle/CMakeFiles.txt.in
@@ -0,0 +1,13 @@
+@CMAKE_SOURCE_DIR@/Source/*.txx
+@CMAKE_SOURCE_DIR@/Source/*.cxx
+@CMAKE_SOURCE_DIR@/Source/*.h*
+@CMAKE_SOURCE_DIR@/Source/CPack/*.txx
+@CMAKE_SOURCE_DIR@/Source/CPack/*.cxx
+@CMAKE_SOURCE_DIR@/Source/CPack/*.h*
+@CMAKE_SOURCE_DIR@/Source/CTest/*.txx
+@CMAKE_SOURCE_DIR@/Source/CTest/*.cxx
+@CMAKE_SOURCE_DIR@/Source/CTest/*.h*
+@CMAKE_SOURCE_DIR@/Source/CurseDialog/*.h*
+@CMAKE_SOURCE_DIR@/Source/CurseDialog/*.cxx
+@CMAKE_SOURCE_DIR@/Source/CurseDialog/*.txx
+-f (Lexer\.cxx)
diff --git a/Utilities/KWStyle/CMakeLists.txt b/Utilities/KWStyle/CMakeLists.txt
new file mode 100644
index 0000000000..b7aa2e8ae6
--- /dev/null
+++ b/Utilities/KWStyle/CMakeLists.txt
@@ -0,0 +1,41 @@
+#-----------------------------------------------------------------------------
+# CMake uses KWStyle for checking the coding style
+OPTION(CMAKE_USE_KWSTYLE "Run KWStyle in order to check for violations of the coding standard." OFF)
+MARK_AS_ADVANCED(CMAKE_USE_KWSTYLE)
+
+IF(CMAKE_USE_KWSTYLE)
+ FIND_PROGRAM(KWSTYLE_EXECUTABLE
+ NAMES KWStyle
+ PATHS
+ "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Kitware Inc.\\KWStyle 1.0.0]/bin"
+ )
+ MARK_AS_ADVANCED(KWSTYLE_EXECUTABLE)
+
+ OPTION(KWSTYLE_USE_VIM_FORMAT "Set KWStyle to generate errors with a VIM-compatible format." OFF)
+ OPTION(KWSTYLE_USE_MSVC_FORMAT "Set KWStyle to generate errors with a VisualStudio-compatible format." OFF)
+ MARK_AS_ADVANCED(KWSTYLE_USE_VIM_FORMAT)
+ MARK_AS_ADVANCED(KWSTYLE_USE_MSVC_FORMAT)
+
+ IF(KWSTYLE_USE_VIM_FORMAT)
+ SET(KWSTYLE_ARGUMENTS -vim ${KWSTYLE_ARGUMENTS})
+ ENDIF(KWSTYLE_USE_VIM_FORMAT)
+
+ IF(KWSTYLE_USE_MSVC_FORMAT)
+ SET(KWSTYLE_ARGUMENTS -msvc ${KWSTYLE_ARGUMENTS})
+ ENDIF(KWSTYLE_USE_MSVC_FORMAT)
+
+ CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/Utilities/KWStyle/CMake.kws.xml.in
+ ${CMAKE_BINARY_DIR}/CMake.kws.xml)
+
+ CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/Utilities/KWStyle/CMakeFiles.txt.in
+ ${CMAKE_BINARY_DIR}/CMakeKWSFiles.txt)
+
+ ADD_CUSTOM_COMMAND(
+ OUTPUT ${CMAKE_BINARY_DIR}/KWStyleReport.txt
+ COMMAND ${KWSTYLE_EXECUTABLE}
+ 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
+ COMMENT "Coding Style Checker"
+ )
+ ADD_CUSTOM_TARGET(StyleCheck DEPENDS ${CMAKE_BINARY_DIR}/KWStyleReport.txt)
+ENDIF(CMAKE_USE_KWSTYLE)
+
diff --git a/Utilities/KWStyle/CMakeOverwrite.txt b/Utilities/KWStyle/CMakeOverwrite.txt
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/Utilities/KWStyle/CMakeOverwrite.txt
diff --git a/Utilities/KWStyle/Headers/CMakeHeader.h b/Utilities/KWStyle/Headers/CMakeHeader.h
new file mode 100644
index 0000000000..3a848e6ada
--- /dev/null
+++ b/Utilities/KWStyle/Headers/CMakeHeader.h
@@ -0,0 +1,16 @@
+/*=========================================================================
+
+ Program: CMake - Cross-Platform Makefile Generator
+ Module: $RCSfile$
+ Language: C++
+ Date: $Date$
+ Version: $Revision$
+
+ Copyright (c) 2002 Kitware, Inc., Insight Consortium. All rights reserved.
+ See Copyright.txt or http://www.cmake.org/HTML/Copyright.html for details.
+
+ This software is distributed WITHOUT ANY WARRANTY; without even
+ the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+ PURPOSE. See the above copyright notices for more information.
+
+=========================================================================*/