Blame view

3rdparty/opencv-4.5.4/modules/videoio/cmake/detect_openni2.cmake 1.65 KB
f4334277   Hu Chunming   提交3rdparty
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
  # --- OpenNI2 ---
  
  if(NOT HAVE_OPENNI2)
    set(paths "${OPENNI2_DIR}")
    if(MSVC AND X86_64)
      list(APPEND paths ENV OPENNI2_INCLUDE64 ENV OPENNI2_LIB64 ENV OPENNI2_REDIST64)
    else()
      list(APPEND paths ENV OPENNI2_INCLUDE ENV OPENNI2_LIB ENV OPENNI2_REDIST)
    endif()
  
    # From SDK
    find_path(OPENNI2_INCLUDE "OpenNI.h"
      PATHS ${paths}
      PATH_SUFFIXES "Include"
      NO_DEFAULT_PATH)
    find_library(OPENNI2_LIBRARY "OpenNI2"
      PATHS ${paths}
      PATH_SUFFIXES "Redist" "Lib"
      NO_DEFAULT_PATH)
  
    if(OPENNI2_LIBRARY AND OPENNI2_INCLUDE)
      set(HAVE_OPENNI2 TRUE)
      set(OPENNI2_INCLUDE_DIRS "${OPENNI2_INCLUDE}")
      set(OPENNI2_LIBRARIES "${OPENNI2_LIBRARY}")
    endif()
  endif()
  
  if(NOT HAVE_OPENNI2)
    # From system
    find_path(OPENNI2_SYS_INCLUDE "OpenNI.h" PATH_SUFFIXES "openni2" "ni2")
    find_library(OPENNI2_SYS_LIBRARY "OpenNI2")
  
    if(OPENNI2_SYS_LIBRARY AND OPENNI2_SYS_INCLUDE)
      set(HAVE_OPENNI2 TRUE)
      set(OPENNI2_INCLUDE_DIRS "${OPENNI2_SYS_INCLUDE}")
      set(OPENNI2_LIBRARIES "${OPENNI2_SYS_LIBRARY}")
    endif()
  endif()
  
  if(HAVE_OPENNI2)
    file(STRINGS "${OPENNI2_INCLUDE_DIRS}/OniVersion.h" ver_strings REGEX "#define +ONI_VERSION_(MAJOR|MINOR|MAINTENANCE|BUILD).*")
    string(REGEX REPLACE ".*ONI_VERSION_MAJOR[^0-9]+([0-9]+).*" "\\1" ver_major "${ver_strings}")
    string(REGEX REPLACE ".*ONI_VERSION_MINOR[^0-9]+([0-9]+).*" "\\1" ver_minor "${ver_strings}")
    string(REGEX REPLACE ".*ONI_VERSION_MAINTENANCE[^0-9]+([0-9]+).*" "\\1" ver_maint "${ver_strings}")
    set(OPENNI2_VERSION "${ver_major}.${ver_minor}.${ver_maint}")  # informational
    ocv_add_external_target(openni2 "${OPENNI2_INCLUDE_DIRS}" "${OPENNI2_LIBRARIES}" "HAVE_OPENNI2")
  endif()