ReleaseNotes: C API policy; by Eric Christopher
[oota-llvm.git] / projects / CMakeLists.txt
index c19bb679d186e1a51cb9533547f1f8d66f407fe5..4839dd396706fa28ef4b8139df5b2a2450994aa5 100644 (file)
@@ -5,18 +5,31 @@ 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) AND
-       (NOT ${entry} STREQUAL ${CMAKE_CURRENT_SOURCE_DIR}/libcxx))
+       (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 the compiler-rt tree if present and we have a sufficiently
-# recent version of CMake.
+# 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})
-  if(${CMAKE_VERSION} VERSION_GREATER 2.8.7)
+  # 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)
-  else()
-    message(WARNING "Can't build compiler-rt, CMake 2.8.8 required!")
   endif()
 endif()
+
+add_llvm_external_project(dragonegg)