diff options
Diffstat (limited to 'cmake/Modules/CompilerRTUtils.cmake')
-rw-r--r-- | cmake/Modules/CompilerRTUtils.cmake | 30 |
1 files changed, 21 insertions, 9 deletions
diff --git a/cmake/Modules/CompilerRTUtils.cmake b/cmake/Modules/CompilerRTUtils.cmake index c4500328e..5348f2064 100644 --- a/cmake/Modules/CompilerRTUtils.cmake +++ b/cmake/Modules/CompilerRTUtils.cmake @@ -58,14 +58,6 @@ macro(append_rtti_flag polarity list) endif() endmacro() -macro(append_have_file_definition filename varname list) - check_include_file("${filename}" "${varname}") - if (NOT ${varname}) - set("${varname}" 0) - endif() - list(APPEND ${list} "${varname}=${${varname}}") -endmacro() - macro(list_intersect output input1 input2) set(${output}) foreach(it ${${input1}}) @@ -239,7 +231,7 @@ macro(load_llvm_config) # Detect if we have the LLVMXRay and TestingSupport library installed and # available from llvm-config. execute_process( - COMMAND ${LLVM_CONFIG_PATH} "--ldflags" "--libs" "xray" "testingsupport" + COMMAND ${LLVM_CONFIG_PATH} "--ldflags" "--libs" "xray" RESULT_VARIABLE HAD_ERROR OUTPUT_VARIABLE CONFIG_OUTPUT) if (HAD_ERROR) @@ -254,6 +246,26 @@ macro(load_llvm_config) set(COMPILER_RT_HAS_LLVMXRAY TRUE) endif() + set(COMPILER_RT_HAS_LLVMTESTINGSUPPORT FALSE) + execute_process( + COMMAND ${LLVM_CONFIG_PATH} "--ldflags" "--libs" "testingsupport" + RESULT_VARIABLE HAD_ERROR + OUTPUT_VARIABLE CONFIG_OUTPUT) + if (HAD_ERROR) + message(WARNING "llvm-config finding testingsupport failed with status ${HAD_ERROR}") + else() + string(REGEX REPLACE "[ \t]*[\r\n]+[ \t]*" ";" CONFIG_OUTPUT ${CONFIG_OUTPUT}) + list(GET CONFIG_OUTPUT 0 LDFLAGS) + list(GET CONFIG_OUTPUT 1 LIBLIST) + if (LIBLIST STREQUAL "") + message(WARNING "testingsupport library not installed, some tests will be skipped") + else() + set(LLVM_TESTINGSUPPORT_LDFLAGS ${LDFLAGS} CACHE STRING "Linker flags for LLVMTestingSupport library") + set(LLVM_TESTINGSUPPORT_LIBLIST ${LIBLIST} CACHE STRING "Library list for LLVMTestingSupport") + set(COMPILER_RT_HAS_LLVMTESTINGSUPPORT TRUE) + endif() + endif() + # Make use of LLVM CMake modules. # --cmakedir is supported since llvm r291218 (4.0 release) execute_process( |