From 3c45e181cf3f393864aa929aace29a1a9948e360 Mon Sep 17 00:00:00 2001 From: Bill Hoffman Date: Thu, 10 May 2007 15:13:52 -0400 Subject: [PATCH] ENH: add KWStyle support --- Utilities/CMakeLists.txt | 2 +- Utilities/KWStyle/CMake.kws.xml.in | 9 ++++++ Utilities/KWStyle/CMakeFiles.txt.in | 13 ++++++++ Utilities/KWStyle/CMakeLists.txt | 41 +++++++++++++++++++++++++ Utilities/KWStyle/CMakeOverwrite.txt | 0 Utilities/KWStyle/Headers/CMakeHeader.h | 16 ++++++++++ 6 files changed, 80 insertions(+), 1 deletion(-) create mode 100644 Utilities/KWStyle/CMake.kws.xml.in create mode 100644 Utilities/KWStyle/CMakeFiles.txt.in create mode 100644 Utilities/KWStyle/CMakeLists.txt create mode 100644 Utilities/KWStyle/CMakeOverwrite.txt create mode 100644 Utilities/KWStyle/Headers/CMakeHeader.h diff --git a/Utilities/CMakeLists.txt b/Utilities/CMakeLists.txt index 3bc584089..5eea4cefe 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 000000000..a567cb4dc --- /dev/null +++ b/Utilities/KWStyle/CMake.kws.xml.in @@ -0,0 +1,9 @@ + + +79 +
"@CMAKE_SOURCE_DIR@/Utilities/KWStyle/Headers",false,true
+ +[A-Z] +100 + +
diff --git a/Utilities/KWStyle/CMakeFiles.txt.in b/Utilities/KWStyle/CMakeFiles.txt.in new file mode 100644 index 000000000..bee914f89 --- /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 000000000..b7aa2e8ae --- /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 000000000..e69de29bb diff --git a/Utilities/KWStyle/Headers/CMakeHeader.h b/Utilities/KWStyle/Headers/CMakeHeader.h new file mode 100644 index 000000000..3a848e6ad --- /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. + +=========================================================================*/