| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778 |
- #=============================================================================
- # 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()
|