engine moment

This commit is contained in:
Ben
2021-08-06 22:09:56 +01:00
parent 859b64c4f8
commit a15b77ad15
6 changed files with 78 additions and 10 deletions

11
Aeon/Aeon.cpp Normal file
View File

@@ -0,0 +1,11 @@
#include <Aeon/Aeon.hpp>
Aeon::Core::Engine::Engine()
{
}
const Aeon::Core::Display& Aeon::Core::Engine::getDisplay()
{
return Aeon::Core::Display::getInstance();
}

View File

@@ -0,0 +1,18 @@
#ifndef AEON_AEON_H_
#define AEON_AEON_H_
#include <Aeon/Display.hpp>
namespace Aeon::Core {
class Engine
{
public:
Engine();
const Aeon::Core::Display& getDisplay();
};
}
#endif

8
Aeon/Display.cpp Normal file
View File

@@ -0,0 +1,8 @@
#include <Aeon/Display.hpp>
#include <iostream>
Aeon::Core::Display::Display()
{
std::cout << "bruh" << std::endl;
}

24
Aeon/Display.hpp Normal file
View File

@@ -0,0 +1,24 @@
#ifndef AEON_DISPLAY_H_
#define AEON_DISPLAY_H_
namespace Aeon::Core {
class Display
{
public:
Display();
static inline Display& getInstance()
{
static Display instance;
return instance;
}
private:
Display( Display const& ) = delete;
void operator=( Display const& ) = delete;
};
}
#endif

View File

@@ -1,12 +1,11 @@
cmake_minimum_required(VERSION 3.7)
project(AEON)
project(AEON CXX)
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} CMakeModules/)
cmake_policy(SET CMP0037 OLD) # alow for spaces in file names
set(CMAKE_CXX_STANDARD 20)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_BUILD_TYPE debug)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++20")
# set(CMAKE_BUILD_TYPE Debug)
@@ -19,11 +18,15 @@ message(${CMAKE_SOURCE_DIR}/resources)
set(exe out)
file(GLOB EngineSource
Aeon/*
Aeon/ThirdParty/*
Aeon/Maths/*
Aeon/*.cpp
Aeon/ThirdParty/*.cpp
Aeon/Maths/*.cpp
)
#temp
file (GLOB GameSource
Game/*.cpp
)
set(THREADS_PREFER_PTHREAD_FLAD ON)
find_package(Threads REQUIRED)
@@ -31,11 +34,11 @@ find_package(Threads REQUIRED)
# Find GL and GLX package
find_package(OpenGL REQUIRED)
include_directories(Aeon)
include_directories(".")
include_directories(${WinSDK})
add_executable(${out}
${EngineSource}
add_executable(Aeon
${EngineSource} ${GameSource}
)
link_libraries(${exe}

View File

@@ -1,5 +1,9 @@
// simple raycast shooter
int main()
#include <Aeon/Aeon.hpp>
int main( int argc, char** argv )
{
Aeon::Core::Engine engine;
auto& display = engine.getDisplay();
}