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. + +=========================================================================*/