Skip to content

Code Restructure To Reduce Disk Usage and Help Readability #455

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

Draft
wants to merge 1 commit into
base: develop
Choose a base branch
from

Conversation

MathewBensonCode
Copy link

  • 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

- 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)
@MathewBensonCode MathewBensonCode marked this pull request as draft June 17, 2025 11:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants