dfelinto / hmd_sdk_bridge

2 stars 3 forks source link

HMD SDK Bridge

This library is intended to allow for testing different HMD SDKs for C, C++ and Python applications. The so called bridge is a high-level wrapper, that abstract the implementation of each of the supported SDKs.

Building Requirements

Code Structure

//build [-]
//cmake
//examples
  |--> c
  |--> cpp
  |--> python
  |--> ...
//extern
  |--> glew
  |--> ...
//python
  |-->bridge
  |-->__init__.py
//source
  |--> HMD_Bridge_API.h
  |--> *.cpp
  |--> *.h
//tests (automatic tests)
CMakeLists.txt
INSTALL
LICENSE
README

[-] (hmd_sdk_bridge_build.git)

Build Structure

hmd_sdk_bridge_build.git

//include
  |--> HMD_Bridge_API.h [+]
//lib/x64
  |--> BridgeLib.dll
  |--> BridgeLib.lib
  |--> BridgeLib.so
  |--> BridgeLib.dylib
//lib/x86
  |--> BridgeLib.dll
  |--> BridgeLib.lib
  |--> Bridge.so
//bridge [+]
__init__.py [+]
README

[+] (files copied/duplicated from hmd_sdk_bridge.git)

How to Build

  1. Run CMake
  2. Set OCULUS_SDK_DIR [C:\OculusSDK\LibOVR]
  3. Build (make)
  4. Install (make install)

Install

The installation routine populates the //build folder with the API, include, the Python wrapper code and the built library.

//build/lib/x86
  |--> BridgeLib.dll (from: Win32/Release/BridgeLib.dll)
  |--> BridgeLib.lib (from: Win32/Release/BridgeLib.dll)
//build/lib/x64
  |--> BridgeLib.dll (from: x64/Release/BridgeLib.dll)
  |--> BridgeLib.lib (from: x64/Release/BridgeLib.dll)

Besides that, for legacy reasons, the Oculus SDK 0.5 library is to be found there already:

//build/lib/x84
  |--> libOculusVR.dylib
  |--> libOculusVR.so
  |--> OculusVR.dll
//build/lib/x64
  |--> libOculusVR.dylib
  |--> libOculusVR.so
  |--> OculusVR.dll

After building for the different platforms, the build folder can be pushed upstream, and its submodule hash should be updated in the main repository.

Testing

No automated tests are setup at this moment. But they will live in tests.

Source Installation

$ git clone https://github.com/dfelinto/hmd_sdk_bridge.git
$ cd hmd_sdk_bridge
$ git submodule update --init --recursive --remote

Source Update

$ git pull origin
$ git submodule update --recursive --remote