-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
Re-done the whole base structure.
- Loading branch information
There are no files selected for viewing
This file was deleted.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
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) |
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" | ||
} | ||
} | ||
] | ||
} |
This file was deleted.
This file was deleted.
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. | ||
|
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 | ||
) |
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) { | ||
} |
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...") |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
#include "entry.h" | ||
|
||
void EntryPoint::Test() { | ||
std::cout << "TEST"; | ||
} |
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; | ||
}; | ||
|
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 | ||
#) | ||
|
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(); | ||
} |