ReleaseNotes: C API policy; by Eric Christopher
[oota-llvm.git] / projects / CMakeLists.txt
index 78e12fd34a047db8d340cc5d6716fcb824222111..4839dd396706fa28ef4b8139df5b2a2450994aa5 100644 (file)
@@ -4,6 +4,32 @@
 file(GLOB entries *)
 foreach(entry ${entries})
   if(IS_DIRECTORY ${entry} AND EXISTS ${entry}/CMakeLists.txt)
-    add_subdirectory(${entry})
+    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)