[PATCH] D109625: [compiler-rt] Ensure required deps for tests targets are actually built
Leonard Chan via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Wed Sep 22 16:04:46 PDT 2021
leonardchan updated this revision to Diff 374393.
leonardchan retitled this revision from "[compiler-rt] Ensure LIT_TEST_DEP targets are actually built" to "[compiler-rt] Ensure required deps for tests targets are actually built".
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D109625/new/
https://reviews.llvm.org/D109625
Files:
compiler-rt/test/CMakeLists.txt
Index: compiler-rt/test/CMakeLists.txt
===================================================================
--- compiler-rt/test/CMakeLists.txt
+++ compiler-rt/test/CMakeLists.txt
@@ -1,5 +1,6 @@
# Needed for lit support in standalone builds.
include(AddLLVM)
+include(LLVMExternalProjectUtils)
option(COMPILER_RT_TEST_STANDALONE_BUILD_LIBS
"When set to ON and testing in a standalone build, test the runtime \
@@ -28,14 +29,34 @@
# When ANDROID, we build tests with the host compiler (i.e. CMAKE_C_COMPILER),
# and run tests with tools from the host toolchain.
if(NOT ANDROID)
- if(NOT COMPILER_RT_STANDALONE_BUILD AND NOT LLVM_RUNTIMES_BUILD)
- # Use LLVM utils and Clang from the same build tree.
- list(APPEND SANITIZER_COMMON_LIT_TEST_DEPS
+ set(LIT_TEST_DEPS
clang clang-resource-headers FileCheck count not llvm-config llvm-nm llvm-objdump
llvm-readelf llvm-readobj llvm-size llvm-symbolizer compiler-rt-headers sancov)
- if (WIN32)
- list(APPEND SANITIZER_COMMON_LIT_TEST_DEPS KillTheDoctor)
- endif()
+ if (WIN32)
+ list(APPEND LIT_TEST_DEPS KillTheDoctor)
+ endif()
+
+ if(NOT COMPILER_RT_STANDALONE_BUILD AND NOT LLVM_RUNTIMES_BUILD)
+ # Use LLVM utils and Clang from the same build tree.
+ list(APPEND SANITIZER_COMMON_LIT_TEST_DEPS ${LIT_TEST_DEPS})
+ elseif(COMPILER_RT_STANDALONE_BUILD)
+ # If we are making a standalone build, we need to ensure some targets used
+ # for testing are known and built as deps.
+ list(APPEND SANITIZER_COMMON_LIT_TEST_DEPS ${LIT_TEST_DEPS})
+
+ # These are tools needed for testing in a standalone/runtimes build, but we
+ # don't have a corresponding CMAKE_* flag for. These will need to be rebuilt.
+ set(LIT_ONLY_TOOLS
+ FileCheck count not)
+ foreach(dep ${LIT_ONLY_TOOLS})
+ if (NOT TARGET ${dep})
+ llvm_ExternalProject_BuildCmd(build_${dep} ${dep} ${BINARY_DIR})
+ add_custom_target(${dep}
+ COMMAND ${build_${dep}}
+ WORKING_DIRECTORY ${BINARY_DIR}
+ VERBATIM USES_TERMINAL)
+ endif()
+ endforeach()
endif()
# Tests use C++ standard library headers.
if (TARGET cxx-headers OR HAVE_LIBCXX)
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D109625.374393.patch
Type: text/x-patch
Size: 2190 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20210922/74bf2f32/attachment.bin>
More information about the cfe-commits
mailing list