deps.cmake 1.5 KB

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