Maintained at https://github.com/OSVR/Managed-OSVR
For details, see http://osvr.github.io
For support, see http://support.osvr.com
The solution contains the ClientKit wrapper (in both .NET 2.0 and 4.5 versions) and ported examples based on the C++ examples from the core.
Windows native DLLs are bundled in the osvr-core-snapshots
directory. The are presently from the snapshot identified as:
OSVR-Core-Snapshot-v0.1-786-gc9f3bcb
Instead of just "Debug" and "Release" configurations, there are "Debug45", "Release45", "Debug20", and "Release20" configurations - the suffix indicates the version of the .NET Framework being compiled against. The assembly information of a compiled binary indicates which framework was used, and distinct build directories are used as well.
Some MSBuild tweaking was involved in getting the multi-framework targeting and native library copying working. Though the build can produce a .NET 2.0 assembly, you'll need at least 4.0 and the corresponding MSBuild to execute these builds.
If you prefer to exclusively use MSBuild, or want to build all variants at once, just run msbuild Managed-OSVR.proj /target:<TARGET>
where <TARGET>
is replaced by one of:
ClientKit
- to just build the main assembly, in all four configurations.Examples
- to just build the examples, in all four configurations.Build
(or with the/target
flag omitted - build everything in all configurationsClean
- clean all projects, all configurations.
For command-line builds, the following properties (centralized in msbuild/MultiFramework.targets
and msbuild/CopyNativeLibraries.targets
may be interesting. Note that to pass things into the Managed-OSVR.proj
superproject, you'll need to set those properties in an MSBuild file, passing the path as the property PropFile
. You can add the target /t:CheckPropFile
to ensure that the build was able to find and use your PropFile
- recommended.
Configuration
- A standard MSBuild property, but with the distinct meanings discussed above in Build Options, including automatically settingTargetFrameworkVersion
. This is the only property besidesPropFile
that can be passed to the superbuild and propagate successfully.BuildRoot
- The parent directory that will containbin
andobj
- defaults to a directory namedbuild
in the repository root. Relative to the repository root.NativeRoot
- Defaults to the bundledosvr-core-snapshots
directory, but you can point it to a similarly-laid-out alternate directory. If you look in the corresponding targets file, you'll see that you can override the locating of the native libraries additionally/instead at each level of granularity, to accommodate any sort of build environment.
This project: Licensed under the Apache License, Version 2.0.