Skip to content

Conversation

MathewBensonCode
Copy link
Contributor

  • Move from github-submodule structure to use CMake's native dependency management facilities. (https://cmake.org/cmake/help/latest/guide/using-dependencies/index.html). Ideally the dependencies are to be installed using native mechanisms like vcpkg on windows, the linux distribution package manager or homebrew for mac. CMake will find the installed versions as a first option but build the dependencies if not available in the Build Directory at Build time. The linux_build code action is an example of this working in linux.

  • Restructure The #include statements to indicate the project source, this prevents confusion and is easier to read. It is also a consistent way to describe the included header and to reason about the include structure. This also is to pave the way to converting to modules

  • Explicit Code file declaration in CMake as opposed to File Globbing which is only run once during build system generation. When creating a new file, it is suggested to specify it in the CMake File which will enhance tracking and ensure that it is picked up at build time due to changes in the CMake Files.

  • Changed Bitmap.h to utf-8 from iso-8859

  • Changed from MSVC style of pre-compiled headers, just using plain header includes for portability. Another benefit is storage savings as the pch file was taking up too much space(in my experience)

  • I changed a few types and enums that we're throwing errors in g++ due to the typename and variable name being the same by adding "Enum" to the enum name and "Type" to the struct/class name. This may make the naming convention inconsistent, but it is something to be considered to be changed for all types so that there is a consistent naming convention similar to the vulkan style where there is a style for functions, types and constants

@MathewBensonCode MathewBensonCode marked this pull request as draft June 17, 2025 11:14
@MathewBensonCode MathewBensonCode force-pushed the develop branch 28 times, most recently from 4a5b2aa to 3b8e54e Compare July 2, 2025 13:29
@MathewBensonCode MathewBensonCode changed the title Code Restructure To Reduce Disk Usage and Help Readability Code Restructure To Enable Linux and MacOS Builds, Plus Reduce Disk Usage and/or Build Times , Plus Help Readability of Source Files Jul 2, 2025
@MathewBensonCode MathewBensonCode marked this pull request as ready for review July 2, 2025 15:37
@JeanPhilippeKernel
Copy link
Owner

Hi @MathewBensonCode,
Thanks for your contribution and the PR

Your PR appears to introduce breaking changes and taking directions we aren't sure we want to follow for now.
I think you might want to split the PR for it to get reviewed and/or merged.

Thanks

@JeanPhilippeKernel JeanPhilippeKernel added area-rendering DevOps area-linux Work on Linux system area-window Work on Window system area-macOS Work on macOS system critical labels Jul 6, 2025
@JeanPhilippeKernel JeanPhilippeKernel added this to the Future milestone Jul 6, 2025
@JeanPhilippeKernel JeanPhilippeKernel added question Further information is requested vulkan-api labels Jul 6, 2025
@MathewBensonCode MathewBensonCode marked this pull request as draft July 14, 2025 10:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area-linux Work on Linux system area-macOS Work on macOS system area-rendering area-window Work on Window system critical DevOps question Further information is requested vulkan-api
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants