Skip to content

Commit

Permalink
Merge pull request #2 from wowvain-dev/full-remake
Browse files Browse the repository at this point in the history
Re-done the whole base structure.
  • Loading branch information
wowvain-dev authored Mar 18, 2024
2 parents 96f3958 + 364f90b commit 9cf1e66
Show file tree
Hide file tree
Showing 57 changed files with 1,132 additions and 4,390 deletions.
9 changes: 0 additions & 9 deletions .gitmodules

This file was deleted.

43 changes: 43 additions & 0 deletions .idea/GrepConsole.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

18 changes: 18 additions & 0 deletions .idea/QtSettings.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

9 changes: 9 additions & 0 deletions .idea/copyright/profiles_settings.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 3 additions & 3 deletions .idea/editor.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 0 additions & 3 deletions .idea/vcs.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

57 changes: 6 additions & 51 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,53 +1,8 @@
cmake_minimum_required(VERSION 3.28)
cmake_minimum_required(VERSION 3.24)
project(VaneEngine)

project(VaneEngine VERSION 0.0.1)
include($ENV{VCPKG_ROOT}/scripts/buildsystems/vcpkg.cmake)

message("START OF CMAKELIST...")

set(CMAKE_CXX_STANDARD 20)
set(CMAKE_CXX_STANDARD_REQUIRED True)

set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "bin/")

# CHOOSING THE RENDERER
add_definitions(-DUSE_OPENGL)
#add_definitions(-DUSE_DIRECTX)

add_subdirectory(extern/SDL2)
add_subdirectory(extern/fmt)
add_subdirectory(extern/toml++)

add_subdirectory(src/Renderer)
add_subdirectory(src/Engine)

add_executable(VaneEngine
src/main.cpp
src/glad.c
include/types.h
)


target_include_directories(VaneEngine PUBLIC
"include/"
"src/Renderer/include/"
"src/Engine/include/"
)


target_link_libraries(VaneEngine
# Core Components
Renderer
Engine

# Libraries - ideally these shouldn't be here
SDL2::SDL2
SDL2::SDL2main
tomlplusplus::tomlplusplus
fmt::fmt
d3d11
dxguid
d3dcompiler
dxgi
)

message("END OF CMAKELIST...")
add_subdirectory(Vane)
add_subdirectory(VaneEditor)
add_subdirectory(Sandbox)
25 changes: 25 additions & 0 deletions CMakePresets.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
{
"version": 3,
"configurePresets": [
{
"name": "mingw",
"generator": "Ninja",
"binaryDir": "${sourceDir}/build/mingw-x64",
"cacheVariables": {
"CMAKE_TOOLCHAIN_FILE": "$env{VCPKG_ROOT}/scripts/buildsystems/vcpkg.cmake",
"VCPKG_DEFAULT_TRIPLET": "x64-windows-mingw",
"VCPKG_INSTALL_OPTIONS": "--x-buildtrees-root=I:/btree"
}
},
{
"name": "MSVC",
"generator": "Ninja",
"binaryDir": "${sourceDir}/build/msvc-x64",
"cacheVariables": {
"CMAKE_TOOLCHAIN_FILE": "$env{VCPKG_ROOT}/scripts/buildsystems/vcpkg.cmake",
"VCPKG_DEFAULT_TRIPLET": "x64-windows",
"VCPKG_INSTALL_OPTIONS": "--x-buildtrees-root=I:/btree"
}
}
]
}
19 changes: 0 additions & 19 deletions CMakeSettings.json

This file was deleted.

2 changes: 0 additions & 2 deletions Folder.DotSettings.user

This file was deleted.

12 changes: 12 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
## Vane Engine (early development)

A 2D/3D game engine written in C++ with Vulkan/D3D11/D3D12/OpenGL support and a Qt-based editor.

It uses CMake as build system for cross-platform support.

It allows cross-compilation.

### Goal

Mostly educational but planning to be serious about it. I would like it to be my main project for a while and be the engine that I use for most of my games.

17 changes: 17 additions & 0 deletions Sandbox/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
cmake_minimum_required(VERSION 3.24)
project(Sandbox)

message("Loading Sandbox...")


add_executable(Sandbox
main.cpp
)

target_include_directories(Sandbox
PRIVATE ${CMAKE_SOURCE_DIR}/Vane
)

target_link_libraries(Sandbox PRIVATE
Vane
)
5 changes: 5 additions & 0 deletions Sandbox/main.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
#include <iostream>
#include <entry.h>

int main(int argc, char** argv) {
}
34 changes: 34 additions & 0 deletions Vane/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
cmake_minimum_required(VERSION 3.24)
project(Vane CXX)

set(CMAKE_CXX_STANDARD 20)
set(CMAKE_STANDARD_REQUIRED ON)

find_package(Vulkan REQUIRED)
find_package(VulkanHeaders CONFIG)
# find_package(VulkanMemoryAllocator CONFIG REQUIRED)
find_package(fmt CONFIG REQUIRED)
find_package(SDL2 CONFIG REQUIRED)
find_package(glfw3 CONFIG REQUIRED)
find_package(glm CONFIG REQUIRED)
find_package(glad CONFIG REQUIRED)

add_library(Vane STATIC
entry.cpp
entry.h
)

set_target_properties(Vane PROPERTIES LINKER_LANGUAGE CXX)

target_link_libraries(Vane PRIVATE
fmt::fmt

Vulkan::Vulkan
Vulkan::Headers
# GPUOpen::VulkanMemoryAllocator

$<TARGET_NAME_IF_EXISTS:SDL2::SDL2main>
$<IF:$<TARGET_EXISTS:SDL2::SDL2>,SDL2::SDL2,SDL2::SDL2-static>
)

message("Loading Vane...")
5 changes: 5 additions & 0 deletions Vane/entry.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
#include "entry.h"

void EntryPoint::Test() {
std::cout << "TEST";
}
15 changes: 15 additions & 0 deletions Vane/entry.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
#pragma once

#include <iostream>

class EntryPoint {
public:
EntryPoint() : test(0) {}
~EntryPoint() = default;

void Test();

private:
int test;
};

50 changes: 50 additions & 0 deletions VaneEditor/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
cmake_minimum_required(VERSION 3.24)
project(VaneEditor LANGUAGES CXX)

message("Loading Vane Editor...")

set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTORCC ON)
set(CMAKE_AUTOUIC ON)

set(CMAKE_INCLUDE_CURRENT_DIR ON)

find_package(Qt6 REQUIRED COMPONENTS
Widgets
)

qt_standard_project_setup()

qt_add_executable(VaneEditor
# MACOSX_BUNDLE WIN32
main.cpp
)

target_include_directories(VaneEditor
PRIVATE ${CMAKE_SOURCE_DIR}/Vane
)

target_link_libraries(
VaneEditor PRIVATE
Vane
Qt6::Widgets
)

if (CMAKE_BUILD_TYPE STREQUAL "Debug")
find_program(TOOL_WINDEPLOYQT NAMES windeployqt.debug.bat)
else()
find_program(TOOL_WINDEPLOYQT NAMES windeployqt)
endif()

add_custom_command(TARGET VaneEditor POST_BUILD
COMMAND ${CMAKE_COMMAND} -E echo "Configuring Qt6 platform..."
COMMAND ${TOOL_WINDEPLOYQT}
$<TARGET_FILE:VaneEditor>
COMMENT "Running windeployqt..."
)

#set_target_properties(VaneEditor PROPERTIES
# WIN32_EXECUTABLE ON
# MACOSX_BUNDLE ON
#)

14 changes: 14 additions & 0 deletions VaneEditor/main.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
#define SDL_MAIN_HANDLED

#include <QtWidgets>

int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QWidget window;
window.resize(320, 240);
window.show();
window.setWindowTitle(
QApplication::translate("toplevel", "Vane Editor"));
return app.exec();
}
File renamed without changes.
File renamed without changes.
Loading

0 comments on commit 9cf1e66

Please sign in to comment.