CMakeLists.txt 1.3 KB

12345678910111213141516171819202122232425262728293031323334
  1. # Discover the projects that use CMake in the subdirectories.
  2. # Note that explicit cmake invocation is required every time a new project is
  3. # added or removed.
  4. file(GLOB entries *)
  5. foreach(entry ${entries})
  6. if(IS_DIRECTORY ${entry} AND EXISTS ${entry}/CMakeLists.txt)
  7. if((NOT ${entry} STREQUAL ${CMAKE_CURRENT_SOURCE_DIR}/compiler-rt) AND
  8. (NOT ${entry} STREQUAL ${CMAKE_CURRENT_SOURCE_DIR}/dragonegg) AND
  9. (NOT ${entry} STREQUAL ${CMAKE_CURRENT_SOURCE_DIR}/libcxx) AND
  10. (NOT ${entry} STREQUAL ${CMAKE_CURRENT_SOURCE_DIR}/libcxxabi) AND
  11. (NOT ${entry} STREQUAL ${CMAKE_CURRENT_SOURCE_DIR}/libunwind))
  12. add_subdirectory(${entry})
  13. endif()
  14. endif()
  15. endforeach(entry)
  16. # Also add in libc++ and compiler-rt trees if present (and we have
  17. # a sufficiently recent version of CMake where required).
  18. if(${LLVM_BUILD_RUNTIME})
  19. # MSVC isn't quite working with libc++ yet, disable it until issues are
  20. # fixed.
  21. if(NOT MSVC)
  22. # libc++ uses the libc++abi target names so libc++abi should be added
  23. # first.
  24. add_llvm_external_project(libcxxabi)
  25. add_llvm_external_project(libcxx)
  26. add_llvm_external_project(libunwind)
  27. endif()
  28. if(NOT LLVM_BUILD_EXTERNAL_COMPILER_RT)
  29. add_llvm_external_project(compiler-rt)
  30. endif()
  31. endif()
  32. add_llvm_external_project(dragonegg)