Skip to content

fix: Header Re-Organization for Consistency and Readability#497

Merged
JeanPhilippeKernel merged 1 commit into
JeanPhilippeKernel:developfrom
MathewBensonCode:header-reorganization
Jul 10, 2026
Merged

fix: Header Re-Organization for Consistency and Readability#497
JeanPhilippeKernel merged 1 commit into
JeanPhilippeKernel:developfrom
MathewBensonCode:header-reorganization

Conversation

@MathewBensonCode

@MathewBensonCode MathewBensonCode commented Jan 30, 2026

Copy link
Copy Markdown
Contributor
  • Provide a consistent taxonomy for headers, where the libraries(ZEngine and Tetragrama) expose their Interface(the -I flag) as the root of the package and header naming is synchronized with namespaces
  • This is especially important in libraries like Tetragrama where you have headers from ZEngine and Tetragrama in the same header file which is imported from a third-party project like Obelisk.
  • Make the CMake files cleaner and more consistent by having a uniform naming convention for the Targets
  • Remove pre-compiled headers in order to provide a good foundation for C++ Modules instead.

This commit touches on many files, but the work done is mainly adding the name of the project and the full path to the actual header file. e.g. going from #include <ZEngineDef.h> to #include <ZEngine/ZEngineDef.h>

Related to #310 , there may be need to harmonize the structure of the CMakeFiles, either all match the ZEngine format with the Main subdirectory defining the project and then containing another subdirectory with the targets or to use the format in Tetragrama and Obelisk where the targets and project are in the main Subdirectory.

@MathewBensonCode MathewBensonCode force-pushed the header-reorganization branch 2 times, most recently from 1fa0077 to 1c3b16f Compare February 2, 2026 21:54
@MathewBensonCode MathewBensonCode marked this pull request as draft February 2, 2026 22:54
@MathewBensonCode MathewBensonCode marked this pull request as ready for review February 3, 2026 10:50
@JeanPhilippeKernel JeanPhilippeKernel added the enhancement New feature or request label Feb 4, 2026
@JeanPhilippeKernel JeanPhilippeKernel added this to the Born baby (0.2.0) milestone Feb 4, 2026
@JeanPhilippeKernel JeanPhilippeKernel moved this to In Progress in ZEngine Board Feb 4, 2026
@MathewBensonCode MathewBensonCode force-pushed the header-reorganization branch 2 times, most recently from 71875c3 to c621aac Compare March 31, 2026 11:51
@MathewBensonCode MathewBensonCode force-pushed the header-reorganization branch from c621aac to d29b716 Compare July 3, 2026 20:41
@MathewBensonCode MathewBensonCode marked this pull request as draft July 3, 2026 20:44
@MathewBensonCode MathewBensonCode force-pushed the header-reorganization branch 4 times, most recently from 42d7131 to f3cf3db Compare July 9, 2026 18:17
@MathewBensonCode MathewBensonCode marked this pull request as ready for review July 9, 2026 19:19
Comment thread .github/workflows/Engine-CI.yml Outdated
Comment thread Obelisk/CMakeLists.txt Outdated
Comment thread Tetragrama/CMakeLists.txt Outdated
@JeanPhilippeKernel JeanPhilippeKernel added area-linux Work on Linux system area-window Work on Window system area-macOS Work on macOS system labels Jul 10, 2026
@JeanPhilippeKernel JeanPhilippeKernel changed the title Header Re-Organization for Consistency and Readability fix: Header Re-Organization for Consistency and Readability Jul 10, 2026
- Provide a consistent taxonomy for headers, where the libraries(ZEngine and Tetragrama) expose their Interface(the -I flag) as the root of the package and header naming is synchronized with namespaces
- This is especially important in libraries like Tetragrama where you have headers from ZEngine and Tetragrama in the same header file
- Make the CMake files cleaner and more consistent by having a uniform naming convention for the Targets
- The naming is also now symetrical with the namespaces
@JeanPhilippeKernel JeanPhilippeKernel self-requested a review July 10, 2026 10:54

@JeanPhilippeKernel JeanPhilippeKernel left a comment

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the re-org !

@JeanPhilippeKernel JeanPhilippeKernel merged commit 15af098 into JeanPhilippeKernel:develop Jul 10, 2026
22 checks passed
@github-project-automation github-project-automation Bot moved this from In Progress to Done in ZEngine Board Jul 10, 2026
@MathewBensonCode MathewBensonCode deleted the header-reorganization branch July 10, 2026 15:41
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-window Work on Window system enhancement New feature or request

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

2 participants