Fix inlining to not produce duplicate landingpad clauses
[oota-llvm.git] / projects / CMakeLists.txt
index a9d2af6ad215b761c04a9919d05ff2d0dce0263a..fc6483ca35620474c5748b902b6e8613362bde74 100644 (file)
@@ -11,11 +11,17 @@ foreach(entry ${entries})
   endif()
 endforeach(entry)
 
-# Also add in the compiler-rt tree if present and we have a sufficiently
-# recent version of CMake.
-if(${CMAKE_VERSION} VERSION_GREATER 2.8.7 AND
-   ${LLVM_BUILD_RUNTIME} AND
-   IS_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/compiler-rt AND
-   EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/compiler-rt/CMakeLists.txt)
-  add_subdirectory(compiler-rt)
+# Also add in libc++ and compiler-rt trees if present (and we have
+# a sufficiently recent version of CMake where required).
+if(${LLVM_BUILD_RUNTIME})
+  # MSVC isn't quite working with libc++ yet, disable it until issues are
+  # fixed.
+  if(NOT MSVC)
+    add_llvm_external_project(libcxx)
+  endif()
+  if(${CMAKE_VERSION} VERSION_GREATER 2.8.7)
+    add_llvm_external_project(compiler-rt)
+  else()
+    message(WARNING "Can't build compiler-rt, CMake 2.8.8 required!")
+  endif()
 endif()