refactor(engine): move files to new structure\

This commit is contained in:
illyum 2024-09-15 01:37:29 -06:00
parent 2c0448083d
commit 4a47835d6f
9 changed files with 139 additions and 0 deletions

18
.bumpversion.cfg Normal file
View File

@ -0,0 +1,18 @@
[bumpversion]
current_version = ALPHA-2.0.0
commit = True
tag = True
tag_name = v{new_version}
[bumpversion:file:VERSION]
search = {current_version}
replace = {new_version}
[bumpversion:part:major]
first_value = 2
[bumpversion:part:minor]
first_value = 0
[bumpversion:part:patch]
first_value = 0

1
VERSION Normal file
View File

@ -0,0 +1 @@
ALPHA-2.0.0

19
docs/Building.md Normal file
View File

@ -0,0 +1,19 @@
# Building
ICEngine supports both single and multi type configuration types:
Make/Ninja
```bash
cmake -S . -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build
```
\- OR -
Visual Studio:
```bash
cmake -S . -B build -G "Visual Studio 16 2019" # or your preferred Visual Studio version
cmake --build build --config Debug
cmake --build build --config Release
```

39
docs/Developers.md Normal file
View File

@ -0,0 +1,39 @@
# Dev Notes
### Version Bumping
We use a tool called `bump2version` to manage bumping versions in the project. To ensure a clean git history and avoid
conflicts, follow these steps when bumping the version:
1. **Before bumping the version**, always `git pull` to ensure you have the latest changes from the repository.
2. Ensure no other copies of the repo are being worked on or committed before running the `bump2version` tool.
3. Bump the version using the command:
```bash
bumpversion [major|minor|patch]
```
This will:
1. Update the version in the VERSION file.
1. Automatically commit the version bump.
1. Create a Git tag with the new version (e.g., vALPHA-2.0.1).
Push your changes and the tag to the remote repository after bumping the version:
```bash
git push origin master --tags
```
ersioning Guidelines
We follow a versioning structure of ALPHA-major.minor.patch. Heres a breakdown of the versioning rules:
- **Major**: The major version is incremented for significant changes that introduce new features or incompatible API
changes.
- **Minor**: The minor version is incremented for adding new functionality in a backwards-compatible manner.
- **Patch**: The patch version is incremented for bug fixes and minor improvements that dont affect the existing
functionality.
This will be managed by a CI/CD pipeline (or Gitea Actions) later down the line, but for now, follow these manual steps
carefully to ensure version consistency.

View File

@ -0,0 +1,5 @@
module;
export module ICEngine;
export void Test() { return; }

View File

@ -0,0 +1,19 @@
//
// Created by illyum on 9/14/2024.
//
#pragma once
#include <iostream>
#include <string>
class Logger {
public:
void logVersion() {
std::cout << "ICEngine Version: " << PROJECT_VERSION << std::endl;
}
void logCrash(const std::string& errorMessage) {
std::cerr << "Crash detected in version " << PROJECT_VERSION << ": " << errorMessage << std::endl;
}
};

18
examples/CMakeLists.txt Normal file
View File

@ -0,0 +1,18 @@
CMAKE_MINIMUM_REQUIRED(VERSION 3.28)
PROJECT(ICEngineExamples LANGUAGES CXX)
SET(CMAKE_CXX_STANDARD 20)
SET(CMAKE_CXX_STANDARD_REQUIRED ON)
FIND_PACKAGE(ICEngine REQUIRED)
SET(SERVER_SOURCE ${CMAKE_CURRENT_SOURCE_DIR}/server/server.cpp)
SET(CLIENT_SOURCE ${CMAKE_CURRENT_SOURCE_DIR}/client/client.cpp)
ADD_EXECUTABLE(server ${SERVER_SOURCE})
TARGET_LINK_LIBRARIES(server PRIVATE ICEngine::ICEngine)
TARGET_INCLUDE_DIRECTORIES(server PRIVATE ${ICEngine_INCLUDE_DIRS})
ADD_EXECUTABLE(client ${CLIENT_SOURCE})
TARGET_LINK_LIBRARIES(client PRIVATE ICEngine::ICEngine)
TARGET_INCLUDE_DIRECTORIES(client PRIVATE ${ICEngine_INCLUDE_DIRS})

View File

@ -0,0 +1,10 @@
//
// Created by illyum on 9/15/2024.
//
import ICEngine;
int main() {
Test();
return 0;
}

View File

@ -0,0 +1,10 @@
//
// Created by illyum on 9/15/2024.
//
import ICEngine;
int main() {
Test();
return 0;
}