Closed artem-korolev closed 1 week ago
It make zero sense for us to support multiple "build a build systems" systems. Which is what you are asking for.
We have CMake support, it can build on all the platforms that users require the VSG to be built upon. It's a single "build a build system" to covers all bases.
Adding another parallel "build a build system" to this would just add more maintenance burden for no extra benefit. We would see build more errors when one of the "build a build systems" gets out of sync with the code base or platform requirements.
I know this is serious issue as I went through the serious pain of trying to manage multiple build systems in the first decade of the OpenSceneGraph project before CMake came along and solved the cross platform build issue. Trying to manage multiple alternate build systems is NIGHTMARE, it's a horrible waste of mind space and developer time.
CMake might not be your preferred build system, but it's what the VSG uses, and what all the major dependencies use. Please just learn how to use CMake, install the libs and headers and link your application to as everyone else does.
Is your feature request related to a problem? Please describe.
Dear VulkanSceneGraph team, I would like to integrate the Bazel build system into this project. I’m unsure if there’s interest on your end, but if so, I’d be happy to contribute a pull request once the integration is complete. If not, I would appreciate any support to help resolve some of the issues I’m encountering to make the process quicker.
Describe the solution you’d like
The integration is still in its early stages, with a simplified
BUILD
file that currently lacks several features but should be functional for basic usage. However, the build fails due to an incomplete type error related tovsg::ShaderSet
. I’m hoping you might have insights or suggestions on how to resolve this issue, as it may be obvious to someone more familiar with the codebase.Describe alternatives you’ve considered
I’ve experimented with adjustments to the
BUILD
file, such as modifying the include paths and dependencies, but none have addressed the incomplete type error. I’ve also reviewed other sections of the code to identify ways to incorporate a full definition forShaderSet
within the Bazel context, though a clear solution remains elusive.Additional context
Below is my current
BUILD
file configuration, along with the specific error output from Bazel. The error suggests thatShaderSet
is only forward-declared inOptions.h
, which may be the cause of the incomplete type issue.Current
BUILD
file:Error output:
I am using LLVM 17.0.6 for this build process. Any guidance on resolving this error or further integrating Bazel would be greatly appreciated.