summaryrefslogtreecommitdiffstats
path: root/Tests/RunCMake/MultiLint/RunCMakeTest.cmake
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2017-10-27 12:31:34 (GMT)
committerBrad King <brad.king@kitware.com>2017-10-27 13:26:50 (GMT)
commit992962c76dd472fa9d122231c89d8d11aedd3288 (patch)
treede761b94f411e05bba39e27f188f4a9087e13da2 /Tests/RunCMake/MultiLint/RunCMakeTest.cmake
parenta5197eeac7a28046729c40067ee02cd7e3e8e01b (diff)
downloadCMake-992962c76dd472fa9d122231c89d8d11aedd3288.zip
CMake-992962c76dd472fa9d122231c89d8d11aedd3288.tar.gz
CMake-992962c76dd472fa9d122231c89d8d11aedd3288.tar.bz2
cmcmd: Restore support for running multiple lint tools
Refactoring in commit v3.10.0-rc1~115^2 (Clean up iwyu code to not be one big if statement, 2017-08-28) incorrectly changed the logic to run only one lint tool at a time. Restore support for running all tools specified on the command-line.
Diffstat (limited to 'Tests/RunCMake/MultiLint/RunCMakeTest.cmake')
-rw-r--r--Tests/RunCMake/MultiLint/RunCMakeTest.cmake27
1 files changed, 27 insertions, 0 deletions
diff --git a/Tests/RunCMake/MultiLint/RunCMakeTest.cmake b/Tests/RunCMake/MultiLint/RunCMakeTest.cmake
new file mode 100644
index 0000000..afd98fd
--- /dev/null
+++ b/Tests/RunCMake/MultiLint/RunCMakeTest.cmake
@@ -0,0 +1,27 @@
+include(RunCMake)
+
+set(RunCMake_TEST_OPTIONS
+ "-DPSEUDO_CPPCHECK=${PSEUDO_CPPCHECK}"
+ "-DPSEUDO_CPPLINT=${PSEUDO_CPPLINT}"
+ "-DPSEUDO_IWYU=${PSEUDO_IWYU}"
+ "-DPSEUDO_TIDY=${PSEUDO_TIDY}"
+ )
+
+function(run_multilint lang)
+ # Use a single build tree for tests without cleaning.
+ set(RunCMake_TEST_BINARY_DIR "${RunCMake_BINARY_DIR}/${lang}-build")
+ set(RunCMake_TEST_NO_CLEAN 1)
+ file(REMOVE_RECURSE "${RunCMake_TEST_BINARY_DIR}")
+ file(MAKE_DIRECTORY "${RunCMake_TEST_BINARY_DIR}")
+ run_cmake(${lang})
+ set(RunCMake_TEST_OUTPUT_MERGE 1)
+ run_cmake_command(${lang}-Build ${CMAKE_COMMAND} --build .)
+endfunction()
+
+run_multilint(C)
+run_multilint(CXX)
+
+if(NOT RunCMake_GENERATOR STREQUAL "Watcom WMake")
+ run_multilint(C-launch)
+ run_multilint(CXX-launch)
+endif()