File: FindDSSDK.cmake

package info (click to toggle)
pcl 1.15.0%2Bdfsg-2
  • links: PTS, VCS
  • area: main
  • in suites: trixie
  • size: 143,128 kB
  • sloc: cpp: 520,234; xml: 28,792; ansic: 8,212; python: 334; lisp: 93; sh: 49; makefile: 30
file content (59 lines) | stat: -rw-r--r-- 2,118 bytes parent folder | download | duplicates (6)
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
48
49
50
51
52
53
54
55
56
57
58
59
###############################################################################
# Find SoftKinetic DepthSense SDK
#
#     find_package(DSSDK)
#
# Variables defined by this module:
#
#  DSSDK_FOUND                 True if DepthSense SDK was found
#  DSSDK_VERSION               The version of DepthSense SDK
#  DSSDK_INCLUDE_DIRS          The location(s) of DepthSense SDK headers
#  DSSDK_LIBRARIES             Libraries needed to use DepthSense SDK

find_path(DSSDK_DIR include/DepthSenseVersion.hxx
          HINTS "$ENV{DEPTHSENSESDK32}"
                "$ENV{DEPTHSENSESDK64}"
          PATHS "$ENV{PROGRAMFILES}/SoftKinetic/DepthSenseSDK"
                "$ENV{PROGRAMW6432}/SoftKinetic/DepthSenseSDK"
                "C:/Program Files (x86)/SoftKinetic/DepthSenseSDK"
                "C:/Program Files/SoftKinetic/DepthSenseSDK"
                "/opt/softkinetic/DepthSenseSDK"
          DOC "DepthSense SDK directory")

if(DSSDK_DIR)

  # Include directories
  set(DSSDK_INCLUDE_DIRS ${DSSDK_DIR}/include)
  mark_as_advanced(DSSDK_INCLUDE_DIRS)

  # Libraries
  if(MSVC)
    set(DSSDK_LIBRARIES_NAMES DepthSense)
  else()
    set(DSSDK_LIBRARIES_NAMES DepthSense DepthSensePlugins turbojpeg)
  endif()
  foreach(LIB ${DSSDK_LIBRARIES_NAMES})
    find_library(DSSDK_LIBRARY_${LIB}
                 NAMES "${LIB}"
                 PATHS "${DSSDK_DIR}/lib/" NO_DEFAULT_PATH)
    list(APPEND DSSDK_LIBRARIES ${DSSDK_LIBRARY_${LIB}})
    mark_as_advanced(DSSDK_LIBRARY_${LIB})
  endforeach()

  # Version
  set(DSSDK_VERSION 0)
  file(STRINGS "${DSSDK_INCLUDE_DIRS}/DepthSenseVersion.hxx" _dsversion_H_CONTENTS REGEX "#define DEPTHSENSE_FILE_VERSION_STRING.*")
  set(_DSSDK_VERSION_REGEX "([0-9]+\\.[0-9]+\\.[0-9]+\\.[0-9]+)")
  if("${_dsversion_H_CONTENTS}" MATCHES ".*#define DEPTHSENSE_FILE_VERSION_STRING .*${_DSSDK_VERSION_REGEX}.*")
    set(DSSDK_VERSION "${CMAKE_MATCH_1}")
  endif()
  unset(_dsversion_H_CONTENTS)

endif()

include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(DSSDK
  FOUND_VAR DSSDK_FOUND
  REQUIRED_VARS DSSDK_LIBRARIES DSSDK_INCLUDE_DIRS
  VERSION_VAR DSSDK_VERSION
)