[CMake] Ensure that compiler-rt is added first

This will enable other runtime projects to detect the presence of sanitizer runtimes by referring to the sanitizer targets directly.

llvm-svn: 280162
This commit is contained in:
Chris Bieneman 2016-08-30 21:29:21 +00:00
parent f77b75655a
commit ceed2cd0be

View File

@ -33,6 +33,21 @@ if(${CMAKE_SOURCE_DIR} STREQUAL ${CMAKE_CURRENT_SOURCE_DIR})
"${LLVM_BINARY_DIR}/lib/cmake/llvm"
)
# Some of the runtimes will conditionally use the compiler-rt sanitizers
# to make this work smoothly we ensure that compiler-rt is added first in
# the list of sub-projects. This allows other sub-projects to have checks
# like `if(TARGET asan)` to enable building with asan.
foreach(entry ${runtimes})
if("${entry}" MATCHES "compiler-rt")
set(compiler_rt_path ${entry})
break()
endif()
endforeach()
if(compiler_rt_path)
list(REMOVE_ITEM runtimes ${compiler_rt_path})
list(INSERT runtimes 0 ${compiler_rt_path})
endif()
# LLVMConfig.cmake contains a bunch of CMake variables from the LLVM build.
# This file is installed as part of LLVM distributions, so this can be used
# either from a build directory or an installed LLVM.