deps.cmake 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. include_guard(GLOBAL)
  2. include(deps-install)
  3. set(PRINT_DEPS_INFO ON CACHE BOOL "Print deps info.") # 默认设定为 ON
  4. set(_print ${PRINT_DEPS_INFO})
  5. set(DEPS_FOUND TRUE)
  6. if (WIN32 AND NOT CYGWIN) # cygwin 不依赖 dl
  7. find_package(dlfcn-win32 QUIET)
  8. if (NOT dlfcn-win32_FOUND)
  9. set(DEPS_FOUND FALSE)
  10. message(WARNING "dlfcn-win32 not found. But you can try install it by the cmake program.")
  11. else()
  12. set(dlfcn_lib dlfcn-win32::dl)
  13. wi_install_import(TARGETS dlfcn-win32::dl)
  14. endif()
  15. else()
  16. set(DLFCN_ROOT "" CACHE STRING "The directory of dl.")
  17. set(dlfcn_root ${DLFCN_ROOT})
  18. if (dlfcn_root)
  19. find_library(dlfcn_path dl HINTS ${dlfcn_root})
  20. else()
  21. find_library(dlfcn_path dl)
  22. endif()
  23. if (NOT dlfcn_path)
  24. set(DEPS_FOUND FALSE)
  25. message(SEND_ERROR "dlfcn not found.")
  26. endif()
  27. unset(dlfcn_root)
  28. set(dlfcn_lib ${dlfcn_path})
  29. endif()
  30. find_package(PCRE2 COMPONENTS 8BIT QUIET)
  31. if (NOT PCRE2_FOUND)
  32. set(DEPS_FOUND FALSE)
  33. message(WARNING "PCRE2 8BIT not found. But you can try install it by the cmake program.")
  34. else()
  35. wi_install_import(TARGETS PCRE2::8BIT)
  36. endif()
  37. find_package(Threads QUIET)
  38. if (NOT Threads_FOUND)
  39. set(DEPS_FOUND FALSE)
  40. message(SEND_ERROR "Threads library not found.")
  41. else()
  42. wi_install_import(TARGETS Threads::Threads)
  43. endif()