diff --git a/CMakeLists.txt b/CMakeLists.txt index 853e076..c4367cb 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,44 +1,40 @@ cmake_minimum_required(VERSION 3.5) -project(Engine) +project(gameBase) -set(LIB_NAME Engine) +set(CMAKE_BUILD_TYPE Debug) +cmake_policy(SET CMP0015 NEW) +set(CMAKE_POSITION_INDEPENDENT_CODE ON) set(CORE_SRC - Source/Core/Private/util.cpp) + source/core/abstractAppState.cpp + source/core/stateManager.cpp + source/core/inputManager.cpp + source/core/soundManager.cpp) -set(SYSTEMS_SRC - Source/Systems/Private/abstractAppState.cpp - Source/Systems/Private/stateManager.cpp - Source/Systems/Private/soundManager.cpp) +set(UTILS_SRC + source/utils/solUtil.cpp + source/utils/util.cpp) -set(PLATFORM_SRC - Source/Platform/Private/inputManager.cpp) +set(LIB_NAME gameBase) +add_library(${LIB_NAME} ${CORE_SRC} ${UTILS_SRC}) -set(SCRIPTING_SRC - Source/Scripting/Private/solUtil.cpp) +set(GLFW_DIR external/glfw) +set(GLFW_LIB_DIR build/external/glfw/src) +target_include_directories(${LIB_NAME} PUBLIC ${GLFW_DIR}/include/GLFW) +target_link_directories(${LIB_NAME} PUBLIC ${GLFW_LIB_DIR}) -set(ENGINE_SRC ${CORE_SRC} ${SYSTEMS_SRC} ${PLATFORM_SRC} ${SCRIPTING_SRC}) +set(LUA_DIR external/lua-cmake) +add_subdirectory(${LUA_DIR}) +target_include_directories(${LIB_NAME} PUBLIC ${LUA_DIR}/external/upstream) -add_library(${LIB_NAME} ${ENGINE_SRC}) +set(SOL_DIR external/sol2) +add_subdirectory(${SOL_DIR}) +target_include_directories(${LIB_NAME} PUBLIC ${SOL_DIR}/include) -target_include_directories(${LIB_NAME} PUBLIC - ${CMAKE_CURRENT_SOURCE_DIR}/Source/Core/Public - ${CMAKE_CURRENT_SOURCE_DIR}/Source/Systems/Public - ${CMAKE_CURRENT_SOURCE_DIR}/Source/Platform/Public - ${CMAKE_CURRENT_SOURCE_DIR}/Source/Scripting/Public) +set(SFML_DIR external/SFML) +add_subdirectory(${SFML_DIR}) +set(SFML_LIB_DIR build/${SFML_DIR}/src) +target_include_directories(${LIB_NAME} PUBLIC ${SFML_DIR}/include) +target_link_directories(${LIB_NAME} PUBLIC ${SFML_LIB_DIR}) -set(THIRDPARTY_DIR ${CMAKE_SOURCE_DIR}/ThirdParty) - -target_include_directories(${LIB_NAME} PUBLIC ${THIRDPARTY_DIR}/GLFW/include) -target_link_libraries(${LIB_NAME} PUBLIC glfw) - -target_include_directories(${LIB_NAME} PUBLIC - ${THIRDPARTY_DIR}/Lua/upstream) -target_link_libraries(${LIB_NAME} PUBLIC lua::lib) - -target_include_directories(${LIB_NAME} PUBLIC - ${THIRDPARTY_DIR}/sol2/include) - -target_include_directories(${LIB_NAME} PUBLIC - ${THIRDPARTY_DIR}/SFML/include) -target_link_libraries(${LIB_NAME} PUBLIC sfml-system sfml-audio) +target_link_libraries(${LIB_NAME} sfml-system sfml-audio glfw lua::lib) diff --git a/Source/Systems/Private/abstractAppState.cpp b/source/core/abstractAppState.cpp similarity index 97% rename from Source/Systems/Private/abstractAppState.cpp rename to source/core/abstractAppState.cpp index 3d67521..8556521 100644 --- a/Source/Systems/Private/abstractAppState.cpp +++ b/source/core/abstractAppState.cpp @@ -1,7 +1,7 @@ #include #include "abstractAppState.h" -#include "util.h" +#include "../utils/util.h" #include "mapping.h" namespace gameBase { diff --git a/Source/Systems/Public/abstractAppState.h b/source/core/abstractAppState.h similarity index 97% rename from Source/Systems/Public/abstractAppState.h rename to source/core/abstractAppState.h index fbaf27b..eaacd18 100644 --- a/Source/Systems/Public/abstractAppState.h +++ b/source/core/abstractAppState.h @@ -2,7 +2,7 @@ #define ABSTRACT_APP_STATE_H #include "mapping.h" -#include "solUtil.h" +#include "../utils/solUtil.h" #include #include diff --git a/Source/Platform/Private/inputManager.cpp b/source/core/inputManager.cpp similarity index 99% rename from Source/Platform/Private/inputManager.cpp rename to source/core/inputManager.cpp index 11cd2b9..282af4c 100644 --- a/Source/Platform/Private/inputManager.cpp +++ b/source/core/inputManager.cpp @@ -1,6 +1,6 @@ #include "inputManager.h" #include "stateManager.h" -#include "util.h" +#include "../utils/util.h" #include #include diff --git a/Source/Platform/Public/inputManager.h b/source/core/inputManager.h similarity index 100% rename from Source/Platform/Public/inputManager.h rename to source/core/inputManager.h diff --git a/Source/Platform/Public/mapping.h b/source/core/mapping.h similarity index 100% rename from Source/Platform/Public/mapping.h rename to source/core/mapping.h diff --git a/Source/Systems/Private/soundManager.cpp b/source/core/soundManager.cpp similarity index 100% rename from Source/Systems/Private/soundManager.cpp rename to source/core/soundManager.cpp diff --git a/Source/Systems/Public/soundManager.h b/source/core/soundManager.h similarity index 96% rename from Source/Systems/Public/soundManager.h rename to source/core/soundManager.h index 423007a..fc958a6 100644 --- a/Source/Systems/Public/soundManager.h +++ b/source/core/soundManager.h @@ -4,7 +4,7 @@ #include #include -#include "util.h" +#include "../utils/util.h" namespace sf{ class Music; diff --git a/Source/Systems/Private/stateManager.cpp b/source/core/stateManager.cpp similarity index 100% rename from Source/Systems/Private/stateManager.cpp rename to source/core/stateManager.cpp diff --git a/Source/Systems/Public/stateManager.h b/source/core/stateManager.h similarity index 100% rename from Source/Systems/Public/stateManager.h rename to source/core/stateManager.h diff --git a/Source/Scripting/Private/solUtil.cpp b/source/utils/solUtil.cpp similarity index 100% rename from Source/Scripting/Private/solUtil.cpp rename to source/utils/solUtil.cpp diff --git a/Source/Scripting/Public/solUtil.h b/source/utils/solUtil.h similarity index 100% rename from Source/Scripting/Public/solUtil.h rename to source/utils/solUtil.h diff --git a/Source/Core/Private/util.cpp b/source/utils/util.cpp similarity index 97% rename from Source/Core/Private/util.cpp rename to source/utils/util.cpp index 5859dd8..e364ac8 100644 --- a/Source/Core/Private/util.cpp +++ b/source/utils/util.cpp @@ -1,9 +1,9 @@ #include #include "util.h" -#include "mapping.h" -#include "stateManager.h" -#include "abstractAppState.h" +#include "../core/mapping.h" +#include "../core/stateManager.h" +#include "../core/abstractAppState.h" using namespace std; using namespace chrono; diff --git a/Source/Core/Public/util.h b/source/utils/util.h similarity index 100% rename from Source/Core/Public/util.h rename to source/utils/util.h