From f0850e3ddbf2f37b956ccfd6cd78ab8fc36df7d0 Mon Sep 17 00:00:00 2001 From: Brian Gesiak Date: Thu, 27 Jul 2017 19:18:35 +0000 Subject: Un-revert "Teach the CMake build system to run lit's test suite. These can be run" Summary: Depends on https://reviews.llvm.org/D35879. This reverts rL257268, which in turn was a revert of rL257221. https://reviews.llvm.org/D35879 marks the tests in the lit test suite that fail on Windows as XFAIL, which should allow these tests to pass on Windows-based buildbots. Reviewers: delcypher, beanz, mgorny, jroelofs, rnk Reviewed By: mgorny Subscribers: rnk, ddunbar, george.karpenkov, llvm-commits Differential Revision: https://reviews.llvm.org/D35880 llvm-svn: 309310 --- llvm/utils/lit/CMakeLists.txt | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 llvm/utils/lit/CMakeLists.txt (limited to 'llvm/utils/lit/CMakeLists.txt') diff --git a/llvm/utils/lit/CMakeLists.txt b/llvm/utils/lit/CMakeLists.txt new file mode 100644 index 00000000000..709e16bda5b --- /dev/null +++ b/llvm/utils/lit/CMakeLists.txt @@ -0,0 +1,26 @@ +# The configured file is not placed in the correct location +# until the tests are run as we need to copy it into +# a copy of the tests folder +configure_file("tests/lit.site.cfg.in" "lit.site.cfg" @ONLY) + +# Lit's test suite creates output files next to the sources which makes the +# source tree dirty. This is undesirable because we do out of source builds. +# To work around this the tests and the configuration file are copied into the +# build directory just before running them. The tests are not copied over at +# configure time (i.e. `file(COPY ...)`) because this could lead to stale +# tests being run. +add_custom_target(prepare-check-lit + COMMAND ${CMAKE_COMMAND} -E copy_directory "${CMAKE_CURRENT_SOURCE_DIR}/tests" "${CMAKE_CURRENT_BINARY_DIR}/tests" + COMMAND ${CMAKE_COMMAND} -E copy "${CMAKE_CURRENT_BINARY_DIR}/lit.site.cfg" "${CMAKE_CURRENT_BINARY_DIR}/tests" + COMMENT "Preparing lit tests" +) + +# Add rules for lit's own test suite +add_lit_testsuite(check-lit "Running lit's tests" + ${CMAKE_CURRENT_BINARY_DIR} + DEPENDS "FileCheck" "not" "prepare-check-lit" +) + +# For IDEs +set_target_properties(check-lit PROPERTIES FOLDER "Tests") +set_target_properties(prepare-check-lit PROPERTIES FOLDER "Tests") -- cgit v1.2.3