detect_aravis.cmake 1.2 KB

123456789101112131415161718192021222324252627282930
  1. # --- Aravis SDK ---
  2. if(NOT HAVE_ARAVIS_API AND PKG_CONFIG_FOUND)
  3. ocv_check_modules(ARAVIS aravis-0.8 QUIET)
  4. if(ARAVIS_FOUND)
  5. set(HAVE_ARAVIS_API TRUE)
  6. endif()
  7. endif()
  8. if(NOT HAVE_ARAVIS_API)
  9. find_path(ARAVIS_INCLUDE "arv.h"
  10. PATHS "${ARAVIS_ROOT}" ENV ARAVIS_ROOT
  11. PATH_SUFFIXES "include/aravis-0.8")
  12. find_library(ARAVIS_LIBRARY "aravis-0.8"
  13. PATHS "${ARAVIS_ROOT}" ENV ARAVIS_ROOT
  14. PATH_SUFFIXES "lib")
  15. if(ARAVIS_INCLUDE AND ARAVIS_LIBRARY)
  16. set(HAVE_ARAVIS_API TRUE)
  17. file(STRINGS "${ARAVIS_INCLUDE}/arvversion.h" ver_strings REGEX "#define +ARAVIS_(MAJOR|MINOR|MICRO)_VERSION.*")
  18. string(REGEX REPLACE ".*ARAVIS_MAJOR_VERSION[^0-9]+([0-9]+).*" "\\1" ver_major "${ver_strings}")
  19. string(REGEX REPLACE ".*ARAVIS_MINOR_VERSION[^0-9]+([0-9]+).*" "\\1" ver_minor "${ver_strings}")
  20. string(REGEX REPLACE ".*ARAVIS_MICRO_VERSION[^0-9]+([0-9]+).*" "\\1" ver_micro "${ver_strings}")
  21. set(ARAVIS_VERSION "${ver_major}.${ver_minor}.${ver_micro}") # informational
  22. set(ARAVIS_INCLUDE_DIRS "${ARAVIS_INCLUDE}")
  23. set(ARAVIS_LIBRARIES "${ARAVIS_LIBRARY}")
  24. endif()
  25. endif()
  26. if(HAVE_ARAVIS_API)
  27. ocv_add_external_target(aravis "${ARAVIS_INCLUDE_DIRS}" "${ARAVIS_LIBRARIES}" "HAVE_ARAVIS_API")
  28. endif()