-
Notifications
You must be signed in to change notification settings - Fork 8
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Several fixes #16
Several fixes #16
Conversation
There is one remaining thing, using openXR from a distribution package. |
88d4ff0
to
b5e176f
Compare
I'm not sure things are ready to be added to package managers just yet, but all looks good in principle. There are a lot of changes here, some probably clash with changes I already have, or areas of code that are about to be refactored heavily. But very much appreciated, will take me a while to integrate - (Ignoring my limited free time) I need to get through a bunch of vsg fixes, then some OpenXR / core features for vsgvr to be actually useful (for a 1.0 at some point). Short version is we're about 80% of the way towards a usable set of functionality, and there's possibly changes to move down to vsg itself at some point. Some questions for now, otherwise I'll pull commits in when I can:
|
8b40694
to
48fa14e
Compare
Most of the fixes were added to address build issues I encountered when building packages for Linux and Windows (cross-compiled). I do not currently plan to make any major changes to the feature set. Since I'm not quite done with testing yet, there may still be some minor fixes needed. |
48fa14e
to
45b5f10
Compare
By using vsg_setup_xxx macros basic support for install location and build related settings are available to match other vsg related packages.
To find data files when vsgvr is packaged by a distribution, the search is extended to the vsgvr data install location, which is relative based on the path of the executable and determined by the cmake buildsystem. This is required to support a portable installation, such as those found on Windows. In order for the executable to find the required data files when running from the build directory, the location of the data files in the build directory directory has been adjusted.
This is required for packaging.
I use these packages in a personal namespace to get mostly reproducible builds for testing and validation on different platforms and hosts. We are maintaining an osg based VR application and want to see to what extent we could switch to vsg on the supported platforms and what that is missing.
Good to hear, I tried to separate the commits by topic.
There are three topics:
Topic 1. and 2. are needed to e.g. build a package on windows
Which commits are you referring to? |
45b5f10
to
6d8d39e
Compare
In case the vsgvr is build as shared library it needs to be versioned, which is a requirement for example on openSUSE distributions.
This is required for packaging.
In case _space is 0, the application will crash.
…ong long unsigned int'} in assignment This happened with mingw gcc12.
This adds cmake target like 'cppcheck' for static code analysis, 'clang-format' for code formatting, 'clobber' to clean git sources, 'docs' for generating api documentation.
…a consistent name The target name is currently not changed to avoid collisions with further restructuring.
6d8d39e
to
df42a72
Compare
(No need to worry about the conflicts I'm causing, I'll probably have a fair few more, then think about the cmake changes/etc) |
@rhabacker Okay almost all of this was merged without issue. I'm reasonably confident it hasn't broken things too badly, but have only checked the windows build so far. I'll check Android shortly, Linux when I have time. The CMake bits for cppcheck/clangformat/doxygen/clobber are turned off for now, they weren't working right with visual studio, and there's a lot to fix before thinking about code style :) Thanks for the fixes - If anything's broken or there's other tweaks, best to raise an issue before the PR. Upcoming plans involve trying to use vsgvr for some more demos, which I'm sure will mean I need to go back and rewrite some things extensively.. |
The commits from this pr fix problems discovered when building binary packages for the openSUSE distribution, build vsgvr on Linux and Windows MinGW.
They are tested on the Open SUSE build service for example mingw32-vsgvr, mingw64-vsgvr and vsgvr for linux.
They are also needed for further work on #15, since the tests will be based on the use of portable binary packages for Windows built from the above packages.