rewriting and organizing the code

This commit is contained in:
kin fuyuki 2025-12-20 22:52:42 -03:00
commit 20cb5a12f8
No known key found for this signature in database
GPG key ID: 0E4E8E519FB71401
17 changed files with 10766 additions and 32 deletions

View file

@ -1,14 +1,24 @@
cmake_minimum_required(VERSION 3.20)
SET(CMAKE_CXX_FLAGS "-std=c++23 -Werror")
file(GLOB_RECURSE ENGINE_SOURCES "src/*.cpp")
add_library(engine STATIC ${ENGINE_SOURCES})
target_include_directories(engine PUBLIC
${CMAKE_CURRENT_SOURCE_DIR}/include
${CMAKE_CURRENT_SOURCE_DIR}/raylib/include
add_library(enginend SHARED ${ENGINE_SOURCES})
target_include_directories(enginend PUBLIC
${CMAKE_SOURCE_DIR}/include
)
target_link_directories(
enginend PUBLIC
"${CMAKE_SOURCE_DIR}/link")
set(ENGINE_SRC_DIR "${CMAKE_CURRENT_SOURCE_DIR}/src")
set(ENGINE_EXPORT_DIR "${CMAKE_CURRENT_SOURCE_DIR}/include")
set(ENGINE_EXPORT_DIR "${CMAKE_SOURCE_DIR}/include/enginend")
set_target_properties(enginend PROPERTIES
CMAKE_LIBRARY_OUTPUT_DIRECTORY "${CMAKE_SOURCE_DIR}/link"
ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_SOURCE_DIR}/link"
LIBRARY_OUTPUT_DIRECTORY "${CMAKE_SOURCE_DIR}/link"
RUNTIME_OUTPUT_DIRECTORY "${CMAKE_SOURCE_DIR}/link"
)
file(GLOB_RECURSE HEADER_FILES "${ENGINE_SRC_DIR}/*.h" "${ENGINE_SRC_DIR}/*.hpp")
foreach(HEADER ${HEADER_FILES})
file(RELATIVE_PATH REL_PATH "${ENGINE_SRC_DIR}" "${HEADER}")
@ -18,7 +28,7 @@ foreach(HEADER ${HEADER_FILES})
get_filename_component(DEST_DIR "${DEST}" DIRECTORY)
add_custom_command(
TARGET engine PRE_BUILD
TARGET enginend PRE_BUILD
COMMAND ${CMAKE_COMMAND} -E make_directory "${DEST_DIR}"
COMMAND ${CMAKE_COMMAND} -E copy_if_different "${HEADER}" "${DEST}"
)

View file

@ -0,0 +1 @@
#include "engine.h"

1
engine/src/program.cpp Normal file
View file

@ -0,0 +1 @@
#include "program.h"

14
engine/src/program.h Normal file
View file

@ -0,0 +1,14 @@
#pragma once
#define CFG this->CONF()
inline const char* COMMONCONFIG();
class program {
public:
program():client(false){}
program(bool isclient):client(isclient){}
virtual const char* CONF()=0;
const bool client;
virtual void boot()=0;
virtual void tick()=0;
virtual void draw()=0;
virtual void exit()=0;
};