File: FindOpenXR.cmake

package info (click to toggle)
paraview 5.11.0%2Bdfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 497,236 kB
  • sloc: cpp: 3,171,290; ansic: 1,315,072; python: 134,290; xml: 103,324; sql: 65,887; sh: 5,286; javascript: 4,901; yacc: 4,383; java: 3,977; perl: 2,363; lex: 1,909; f90: 1,255; objc: 143; makefile: 119; tcl: 59; pascal: 50; fortran: 29
file content (64 lines) | stat: -rw-r--r-- 1,713 bytes parent folder | download | duplicates (3)
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
60
61
62
63
64
# Note that OpenXR lacks a useful install tree. This should work if
# `OpenXR_ROOT` is set to the source directory of OpenXR.

# TODO: fails for universal builds
if (CMAKE_SIZEOF_VOID_P EQUAL 8)
  set(_openxr_bitness 64)
else ()
  set(_openxr_bitness 32)
endif ()

set(_openxr_platform_base)
if (CMAKE_SYSTEM_NAME MATCHES "Darwin")
  set(_openxr_platform_base osx)
  # SteamVR only supports 32-bit on OS X
  set(OpenXR_PLATFORM osx32)
else ()
  if (CMAKE_SYSTEM_NAME MATCHES "Linux")
    set(_openxr_platform_base linux)
  elseif (WIN32)
    set(_openxr_platform_base win)
  endif ()
  set(OpenXR_PLATFORM ${_openxr_platform_base}${_openxr_bitness})
endif ()

find_path(OpenXR_INCLUDE_DIR
  NAMES
    openxr.h
    openxr_platform.h
  PATH_SUFFIXES
    openxr
    headers
    public/headers
    steam
    public/steam
  DOC "OpenXR include directory")
mark_as_advanced(OpenXR_INCLUDE_DIR)

find_library(OpenXR_LIBRARY
  NAMES openxr_loader
  PATH_SUFFIXES
    "${OpenXR_PLATFORM}"
    "bin/${OpenXR_PLATFORM}"
  DOC "OpenXR API library")
mark_as_advanced(OpenXR_LIBRARY)

include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(OpenXR
  REQUIRED_VARS OpenXR_LIBRARY OpenXR_INCLUDE_DIR)

if (OpenXR_FOUND)
  set(OpenXR_INCLUDE_DIRS "${OpenXR_INCLUDE_DIR}")
  set(OpenXR_LIBRARIES "${OpenXR_LIBRARY}")
  if (NOT TARGET OpenXR::OpenXR)
    add_library(OpenXR::OpenXR UNKNOWN IMPORTED)
    set_target_properties(OpenXR::OpenXR PROPERTIES
      IMPORTED_LOCATION "${OpenXR_LIBRARY}"
      INTERFACE_INCLUDE_DIRECTORIES "${OpenXR_INCLUDE_DIR}")
  endif ()
endif ()

unset(_openxr_bitness)
unset(_openxr_platform_base)

# See https://github.com/KhronosGroup/OpenXR-Hpp/blob/master/cmake/FindOpenXR.cmake