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.
-if(${CMAKE_VERSION} VERSION_GREATER 2.8.7 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)
+ # 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)