Taints upcoming store and adds bogus conditional branches else where. Now as a separa...
[oota-llvm.git] / projects / CMakeLists.txt
index 1a286db9ec660be163198b9536ec544727b4ce7d..4839dd396706fa28ef4b8139df5b2a2450994aa5 100644 (file)
@@ -4,8 +4,32 @@
 file(GLOB entries *)
 foreach(entry ${entries})
   if(IS_DIRECTORY ${entry} AND EXISTS ${entry}/CMakeLists.txt)
-    if(NOT (${entry} STREQUAL ${CMAKE_CURRENT_SOURCE_DIR}/compiler-rt))
+    if((NOT ${entry} STREQUAL ${CMAKE_CURRENT_SOURCE_DIR}/compiler-rt) AND
+       (NOT ${entry} STREQUAL ${CMAKE_CURRENT_SOURCE_DIR}/dragonegg) AND
+       (NOT ${entry} STREQUAL ${CMAKE_CURRENT_SOURCE_DIR}/libcxx) AND
+       (NOT ${entry} STREQUAL ${CMAKE_CURRENT_SOURCE_DIR}/libcxxabi) AND
+       (NOT ${entry} STREQUAL ${CMAKE_CURRENT_SOURCE_DIR}/libunwind) AND
+       (NOT ${entry} STREQUAL ${CMAKE_CURRENT_SOURCE_DIR}/test-suite))
       add_subdirectory(${entry})
     endif()
   endif()
 endforeach(entry)
+
+# 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)
+    # libc++ uses the libc++abi target names so libc++abi should be added
+    # first.
+    add_llvm_external_project(libcxxabi)
+    add_llvm_external_project(libcxx)
+    add_llvm_external_project(libunwind)
+  endif()
+  if(NOT LLVM_BUILD_EXTERNAL_COMPILER_RT)
+    add_llvm_external_project(compiler-rt)
+  endif()
+endif()
+
+add_llvm_external_project(dragonegg)