Skip to content

Header Re-Organization for Consistency and Readability#497

Open
MathewBensonCode wants to merge 1 commit intoJeanPhilippeKernel:developfrom
MathewBensonCode:header-reorganization
Open

Header Re-Organization for Consistency and Readability#497
MathewBensonCode wants to merge 1 commit intoJeanPhilippeKernel:developfrom
MathewBensonCode:header-reorganization

Conversation

@MathewBensonCode
Copy link
Contributor

@MathewBensonCode MathewBensonCode commented Jan 30, 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 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
- 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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

Status: In Progress

Development

Successfully merging this pull request may close these issues.

3 participants