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
|