forked from LeenkxTeam/LNXSDK
40 lines
2.2 KiB
Plaintext
40 lines
2.2 KiB
Plaintext
|
This is the source code for the OpenVR API client binding library which connects
|
||
|
OpenVR applications to the SteamVR runtime, taking into account the version
|
||
|
of the OpenVR interface they were compiled against.
|
||
|
|
||
|
The client binding library - openvr_api.dll on Windows, openvr_api.so on
|
||
|
Linux, and openvr_api.dylib or OpenVR.framework on macOS - knows how to find
|
||
|
and read the SteamVR runtime installation information which allows it to
|
||
|
find and dynamically connect to the installed runtime. In combination with the
|
||
|
interface version identifiers from /include/openvr.h which are baked
|
||
|
into applications at the time they are built, the OpenVR API client
|
||
|
binding library captures and conveys to the SteamVR runtime the version
|
||
|
of the OpenVR API interface behavior that the application expects.
|
||
|
|
||
|
Applications carry with them a private/local copy of the client binding
|
||
|
library when they ship, and they should install it locally to their
|
||
|
application. Applications should not install the client binding library
|
||
|
globally or attempt to link to a globally installed client binding library.
|
||
|
Doing so negates at least part of the ability for the client binding library
|
||
|
to accurately reflect the version of the OpenVR API that the application
|
||
|
was built against, and so hinders compatibility support in the face of
|
||
|
API changes.
|
||
|
|
||
|
Most applications should simply link to and redistribute with their application
|
||
|
the pre-built client binding library found in the /bin directory of this
|
||
|
repository. Some small number of applications which have specific requirements
|
||
|
around redistributing only binaries they build themselves should build
|
||
|
the client library from this source and either statically link it into
|
||
|
their application or redistribute the binary they build.
|
||
|
|
||
|
This is a cmake project, to build it use the version of cmake appropriate
|
||
|
for your platform. For example, to build on a POSIX system simply perform
|
||
|
|
||
|
cd src; mkdir _build; cd _build; cmake ..; make
|
||
|
|
||
|
and you will end up with the static library /src/bin/<arch>/libopenvr_api.a
|
||
|
|
||
|
To build a shared library, pass -DBUILD_SHARED=1 to cmake.
|
||
|
To build as a framework on apple platforms, pass -DBUILD_FRAMEWORK=1 to cmake.
|
||
|
To see a complete list of configurable build options, use `cmake -LAH`
|