[llvm] r280162 - [CMake] Ensure that compiler-rt is added first

Chris Bieneman via llvm-commits llvm-commits at lists.llvm.org
Tue Aug 30 14:29:21 PDT 2016

Author: cbieneman
Date: Tue Aug 30 16:29:21 2016
New Revision: 280162

URL: http://llvm.org/viewvc/llvm-project?rev=280162&view=rev
[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.


Modified: llvm/trunk/runtimes/CMakeLists.txt
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/runtimes/CMakeLists.txt?rev=280162&r1=280161&r2=280162&view=diff
--- llvm/trunk/runtimes/CMakeLists.txt (original)
+++ llvm/trunk/runtimes/CMakeLists.txt Tue Aug 30 16:29:21 2016
@@ -33,6 +33,21 @@ if(${CMAKE_SOURCE_DIR} STREQUAL ${CMAKE_
+  # 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.

More information about the llvm-commits mailing list