From 91704ef2dee3ad606a6cc0f1e03e6f254d211b8f Mon Sep 17 00:00:00 2001 From: David Cole Date: Wed, 3 Aug 2011 21:37:01 -0400 Subject: Tests: Add a KWStyle test, equivalent to the make StyleCheck target --- Tests/CMakeLists.txt | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/Tests/CMakeLists.txt b/Tests/CMakeLists.txt index 4bf83b7..ee38fd0 100644 --- a/Tests/CMakeLists.txt +++ b/Tests/CMakeLists.txt @@ -2073,6 +2073,19 @@ ${CMake_BINARY_DIR}/bin/cmake -DVERSION=master -P ${CMake_SOURCE_DIR}/Utilities/ --test-command IncludeDirectories) LIST(APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/IncludeDirectories") + IF(CMAKE_USE_KWSTYLE AND KWSTYLE_EXECUTABLE) + # The "make StyleCheck" command line as a test. If the test fails, look + # for lines like "Error #0 (624) Line length exceed 88 (max=79)" in the + # output to find where the style errors are... + ADD_TEST(KWStyle ${KWSTYLE_EXECUTABLE} + -xml ${CMake_BINARY_DIR}/CMake.kws.xml + -o ${CMake_SOURCE_DIR}/Utilities/KWStyle/CMakeOverwrite.txt + -v + -D ${CMake_BINARY_DIR}/CMakeKWSFiles.txt + ) + SET_TESTS_PROPERTIES(KWStyle PROPERTIES + WORKING_DIRECTORY ${CMake_BINARY_DIR}/Utilities/KWStyle) + ENDIF() ENDIF(BUILD_TESTING) SUBDIRS(CMakeTests) -- cgit v0.12 From 3a0d63242d959871b8f047e7f7ee1531f113f436 Mon Sep 17 00:00:00 2001 From: David Cole Date: Wed, 7 Sep 2011 19:04:44 -0400 Subject: KWStyle Test: Activate by default if KWStyle is found Re-arrange the logic to look for KWStyle in the typical install locations and under the Dashboards/Support directory for the typical CMake dashboard machine. If it's there, turn on CMAKE_USE_KWSTYLE by default, thereby activating the KWStyle related custom targets and the KWStyle test. --- Utilities/KWStyle/CMakeLists.txt | 28 ++++++++++++++++++++++------ 1 file changed, 22 insertions(+), 6 deletions(-) diff --git a/Utilities/KWStyle/CMakeLists.txt b/Utilities/KWStyle/CMakeLists.txt index 4803ffa..5b0c84e 100644 --- a/Utilities/KWStyle/CMakeLists.txt +++ b/Utilities/KWStyle/CMakeLists.txt @@ -12,17 +12,34 @@ #----------------------------------------------------------------------------- # 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 +# 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) +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) @@ -59,4 +76,3 @@ IF(CMAKE_USE_KWSTYLE) ADD_CUSTOM_TARGET(StyleCheck DEPENDS ${CMake_BINARY_DIR}/KWStyleReport.txt) ENDIF(CMAKE_USE_KWSTYLE) - -- cgit v0.12