detect_obsensor.cmake 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. # --- obsensor ---
  2. if(NOT HAVE_OBSENSOR)
  3. if(OBSENSOR_USE_ORBBEC_SDK)
  4. include("${OpenCV_SOURCE_DIR}/3rdparty/orbbecsdk/orbbecsdk.cmake")
  5. download_orbbec_sdk(ORBBEC_SDK_ROOT_DIR)
  6. message(STATUS "ORBBEC_SDK_ROOT_DIR: ${ORBBEC_SDK_ROOT_DIR}")
  7. if(ORBBEC_SDK_ROOT_DIR)
  8. set(OrbbecSDK_DIR "${ORBBEC_SDK_ROOT_DIR}")
  9. find_package(OrbbecSDK REQUIRED)
  10. message(STATUS "OrbbecSDK_FOUND: ${OrbbecSDK_FOUND}")
  11. message(STATUS "OrbbecSDK_INCLUDE_DIRS: ${OrbbecSDK_INCLUDE_DIRS}")
  12. if(OrbbecSDK_FOUND)
  13. set(HAVE_OBSENSOR TRUE)
  14. set(HAVE_OBSENSOR_ORBBEC_SDK TRUE)
  15. ocv_add_external_target(obsensor "${OrbbecSDK_INCLUDE_DIRS}" "${OrbbecSDK_LIBRARY}" "HAVE_OBSENSOR;HAVE_OBSENSOR_ORBBEC_SDK")
  16. file(COPY ${OrbbecSDK_DLL_FILES} DESTINATION ${CMAKE_BINARY_DIR}/lib)
  17. if(NOT ORBBEC_SDK_VERSION STREQUAL "1")
  18. # OrbbecSDK v2 loads some libraries at runtime.
  19. file(COPY ${OrbbecSDK_RUNTIME_RESOURCE_FILES} DESTINATION ${CMAKE_BINARY_DIR}/lib)
  20. install(DIRECTORY ${OrbbecSDK_RUNTIME_RESOURCE_FILES} DESTINATION ${OPENCV_LIB_INSTALL_PATH})
  21. endif()
  22. install(FILES ${OrbbecSDK_DLL_FILES} DESTINATION ${OPENCV_LIB_INSTALL_PATH})
  23. ocv_install_3rdparty_licenses(OrbbecSDK ${OrbbecSDK_DIR}/LICENSE.txt)
  24. endif()
  25. endif()
  26. else()
  27. if(WIN32)
  28. check_include_file(mfapi.h HAVE_MFAPI)
  29. check_include_file(vidcap.h HAVE_VIDCAP)
  30. if(HAVE_MFAPI AND HAVE_VIDCAP)
  31. set(HAVE_OBSENSOR TRUE)
  32. set(HAVE_OBSENSOR_MSMF TRUE)
  33. ocv_add_external_target(obsensor "" "" "HAVE_OBSENSOR;HAVE_OBSENSOR_MSMF")
  34. else()
  35. set(HAVE_OBSENSOR OFF)
  36. set(HAVE_OBSENSOR_MSMF OFF)
  37. if(NOT HAVE_MFAPI)
  38. MESSAGE(STATUS "Could not find mfapi.h. Turning HAVE_OBSENSOR OFF")
  39. endif()
  40. if(NOT HAVE_VIDCAP)
  41. MESSAGE(STATUS "Could not find vidcap.h. Turning HAVE_OBSENSOR OFF")
  42. endif()
  43. endif()
  44. elseif(UNIX)
  45. check_include_file(linux/videodev2.h HAVE_CAMV4L2_OBSENSOR)
  46. if(HAVE_CAMV4L2_OBSENSOR)
  47. set(HAVE_OBSENSOR TRUE)
  48. set(HAVE_OBSENSOR_V4L2 TRUE)
  49. ocv_add_external_target(obsensor "" "" "HAVE_OBSENSOR;HAVE_OBSENSOR_V4L2")
  50. endif()
  51. endif()
  52. endif()
  53. endif()