# coreLib
coreLib is an experimental C++ project for rebuilding foundational library components from first principles.
This project uses a Core/App architecture:
- `Core` builds into a static library.
- `App` builds into an executable and links against `Core`.
- Library code lives in the `core` namespace.
- `App` is used for testing and exploration.
## Structure
```text
coreLib
│
├─ Core
│ └─ Source
│ └─ core
│
├─ App
│ └─ Source
│
├─ Scripts
├─ Vendor
└─ Build.luaCore contains the reusable library code.
Library code should live inside the core namespace:
namespace core
{
}Application code may use a namespace alias:
namespace ns = core;Example:
ns::cout << "Hello from coreLib\n";App is the executable project.
It is mainly used to test and experiment with the code in Core.
This project uses Premake to generate project files.
Important files:
Build.luaCore/Build-Core.luaApp/Build-App.lua
On Windows, run:
Scripts/Setup-Windows.bat
Then open the generated Visual Studio solution.
This project is based on a C++ Core/App project template using Premake from The Cherno.
Premake binaries are included in Vendor/.
The original template is released under the UNLICENSE.
Premake is licensed under the BSD 3-Clause license.