From f8699965eca3dcc15cadd341e4201a9d44aeaa04 Mon Sep 17 00:00:00 2001 From: Stefan Granitz Date: Fri, 1 Feb 2019 15:35:25 +0000 Subject: [PATCH] [CMake] External compiler-rt-configure requires LLVMTestingSupport when including tests Summary: Apparently `LLVMTestingSupport` must be built before `llvm-config` can be asked for it. Symptom with `LLVM_INCLUDE_TESTS=ON` is: ``` $ ./path/to/llvm-build/bin/llvm-config --ldflags --libs testingsupport -L/path/to/llvm-build/lib -Wl,-search_paths_first -Wl,-headerpad_max_install_names llvm-config: error: component libraries and shared library llvm-config: error: missing: /path/to/llvm-build/lib/libLLVMTestingSupport.a ``` With `LLVMTestingSupport` as dependency of `compiler-rt-configure` we get the expected behavior: ``` $ ./path/to/llvm-build/bin/llvm-config --ldflags --libs testingsupport -L/path/to/llvm-build/lib -Wl,-search_paths_first -Wl,-headerpad_max_install_names -lLLVMTestingSupport -lLLVMSupport -lLLVMDemangle ``` Reviewers: ab, beanz Subscribers: dberris, mgorny, erik.pilkington, llvm-commits, cfe-commits Differential Revision: https://reviews.llvm.org/D57521 llvm-svn: 352881 --- clang/runtime/CMakeLists.txt | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/clang/runtime/CMakeLists.txt b/clang/runtime/CMakeLists.txt index 6f453f9..0bb0a0a 100644 --- a/clang/runtime/CMakeLists.txt +++ b/clang/runtime/CMakeLists.txt @@ -58,12 +58,16 @@ if(LLVM_BUILD_EXTERNAL_COMPILER_RT AND EXISTS ${COMPILER_RT_SRC_ROOT}/) endif() endforeach() + set(compiler_rt_configure_deps) if(TARGET cxx-headers) - set(COMPILER_RT_LIBCXX_DEPENDENCY "cxx-headers") + list(APPEND compiler_rt_configure_deps "cxx-headers") + endif() + if(LLVM_INCLUDE_TESTS) + list(APPEND compiler_rt_configure_deps LLVMTestingSupport) endif() ExternalProject_Add(compiler-rt - DEPENDS llvm-config clang ${COMPILER_RT_LIBCXX_DEPENDENCY} + DEPENDS llvm-config clang ${compiler_rt_configure_deps} PREFIX ${COMPILER_RT_PREFIX} SOURCE_DIR ${COMPILER_RT_SRC_ROOT} STAMP_DIR ${STAMP_DIR} -- 2.7.4