CMake/Utilities/KWStyle/CMakeLists.txt
Kitware Robot 9db3116226 Remove CMake-language block-end command arguments
Ancient versions of CMake required else(), endif(), and similar block
termination commands to have arguments matching the command starting the
block.  This is no longer the preferred style.

Run the following shell code:

for c in else endif endforeach endfunction endmacro endwhile; do
    echo 's/\b'"$c"'\(\s*\)(.\+)/'"$c"'\1()/'
done >convert.sed &&
git ls-files -z -- bootstrap '*.cmake' '*.cmake.in' '*CMakeLists.txt' |
egrep -z -v '^(Utilities/cm|Source/kwsys/)' |
egrep -z -v 'Tests/CMakeTests/While-Endwhile-' |
xargs -0 sed -i -f convert.sed &&
rm convert.sed
2012-08-13 14:19:16 -04:00

79 lines
3.0 KiB
CMake

#=============================================================================
# CMake - Cross Platform Makefile Generator
# Copyright 2000-2009 Kitware, Inc., Insight Software Consortium
#
# Distributed under the OSI-approved BSD License (the "License");
# see accompanying file Copyright.txt for details.
#
# This software is distributed WITHOUT ANY WARRANTY; without even the
# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
# See the License for more information.
#=============================================================================
#-----------------------------------------------------------------------------
# CMake uses KWStyle for checking the coding style
# Search for a built-from-source KWStyle under Dashboards/Support on a typical
# dashboard machines:
#
set(home "$ENV{HOME}")
if(NOT home)
string(REPLACE "\\" "/" home "$ENV{USERPROFILE}")
endif()
find_program(KWSTYLE_EXECUTABLE
NAMES KWStyle
PATHS
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\Kitware Inc.\\KWStyle 1.0.0]/bin"
"${home}/Dashboards/Support/KWStyle/bin"
)
mark_as_advanced(KWSTYLE_EXECUTABLE)
set(CMAKE_USE_KWSTYLE_DEFAULT OFF)
if(KWSTYLE_EXECUTABLE)
set(CMAKE_USE_KWSTYLE_DEFAULT ON)
endif()
option(CMAKE_USE_KWSTYLE
"Add StyleCheck target and KWStyle test: run KWStyle to check for coding standard violations."
${CMAKE_USE_KWSTYLE_DEFAULT})
mark_as_advanced(CMAKE_USE_KWSTYLE)
if(CMAKE_USE_KWSTYLE)
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()
if(KWSTYLE_USE_MSVC_FORMAT)
set(KWSTYLE_ARGUMENTS -msvc ${KWSTYLE_ARGUMENTS})
endif()
configure_file(${CMake_SOURCE_DIR}/Utilities/KWStyle/CMake.kws.xml.in
${CMake_BINARY_DIR}/CMake.kws.xml)
configure_file(${CMake_SOURCE_DIR}/Utilities/KWStyle/CMakeMoreChecks.kws.xml.in
${CMake_BINARY_DIR}/CMakeMoreChecks.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(MoreStyleChecks
COMMAND ${KWSTYLE_EXECUTABLE}
-xml ${CMake_BINARY_DIR}/CMakeMoreChecks.kws.xml -html ${CMake_BINARY_DIR}/html -o ${CMake_SOURCE_DIR}/Utilities/KWStyle/CMakeOverwrite.txt -v ${KWSTYLE_ARGUMENTS} -D ${CMake_BINARY_DIR}/CMakeKWSFiles.txt
COMMENT "Coding Style Checker, more checks enabled"
)
add_custom_target(StyleCheck DEPENDS ${CMake_BINARY_DIR}/KWStyleReport.txt)
endif()