Merge pull request #3 from SteveGremory/main

- Fixed ShaderConductor for gcc
- Fixed CMake issues on linux
This commit is contained in:
Light 2021-09-23 11:30:31 +03:30 committed by GitHub
commit d703c8330a
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
12 changed files with 37 additions and 24 deletions

1
.gitignore vendored
View file

@ -2,6 +2,7 @@
.vs/ .vs/
bin/ bin/
bin-obj/ bin-obj/
build/
# VS Files # VS Files
**.vcxproj** **.vcxproj**

2
.gitmodules vendored
View file

@ -15,4 +15,4 @@
url = https://github.com/skypjack/entt url = https://github.com/skypjack/entt
[submodule "Dependencies/ShaderConductor"] [submodule "Dependencies/ShaderConductor"]
path = Dependencies/ShaderConductor path = Dependencies/ShaderConductor
url = https://github.com/microsoft/shaderconductor url = https://github.com/Light3039/shaderconductor

View file

View file

@ -1,7 +1,11 @@
cmake_minimum_required(VERSION 3.21.2) cmake_minimum_required(VERSION 3.14)
project(Light VERSION 1.0.0) project(Light VERSION 1.0.0)
set(CMAKE_CXX_STANDARD 14)
set(SPIRV_CROSS_ENABLE_TESTS OFF)
set(INSTALL_GTEST OFF)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-error")
add_subdirectory(Dependencies/ShaderConductor) # <-- this project should not use "cxx_standard 17" add_subdirectory(Dependencies/ShaderConductor) # <-- this project should not use "cxx_standard 17"
# directories # directories
@ -14,8 +18,13 @@ set(ENGINE_DIR ${CMAKE_BINARY_DIR}/../Engine/)
set(DEPENDENCIES_DIR ${CMAKE_BINARY_DIR}/../Dependencies/) set(DEPENDENCIES_DIR ${CMAKE_BINARY_DIR}/../Dependencies/)
# projects # projects
set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD 20)
add_compile_definitions(LIGHT_PLATFORM_WINDOWS)
if(WIN32)
add_compile_definitions(LIGHT_PLATFORM_WINDOWS)
elseif(UNIX)
add_compile_definitions(LIGHT_PLATFORM_LINUX)
endif()
add_subdirectory(${ENGINE_DIR}/) add_subdirectory(${ENGINE_DIR}/)
add_subdirectory(${MIRROR_DIR}/) add_subdirectory(${MIRROR_DIR}/)

View file

@ -1,4 +1,4 @@
cmake_minimum_required(VERSION 3.21.2) cmake_minimum_required(VERSION 3.14)
if (CMAKE_COMPILER_IS_GNUCC) if (CMAKE_COMPILER_IS_GNUCC)
add_compile_options(-w) add_compile_options(-w)

@ -1 +1 @@
Subproject commit 30a77c78d24fa08f4fe5fc4428f10dbfc92717a6 Subproject commit 9420a9b06a059e7def5e5da15e357281f4382015

View file

@ -1,4 +1,4 @@
cmake_minimum_required(VERSION 3.21.2) cmake_minimum_required(VERSION 3.14)
if (CMAKE_COMPILER_IS_GNUCC) if (CMAKE_COMPILER_IS_GNUCC)
add_compile_options(-w) add_compile_options(-w)

View file

@ -1,4 +1,4 @@
cmake_minimum_required(VERSION 3.21.2) cmake_minimum_required(VERSION 3.14)
if (CMAKE_COMPILER_IS_GNUCC) if (CMAKE_COMPILER_IS_GNUCC)
add_compile_options(-w) add_compile_options(-w)
@ -62,8 +62,10 @@ endif()
message(BINARY DIRECTORY IS IN ${CMAKE_BINARY_DIR}) message(BINARY DIRECTORY IS IN ${CMAKE_BINARY_DIR})
add_custom_command( if(WIN32)
add_custom_command(
TARGET Engine TARGET Engine
POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy_if_different POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy_if_different
${CMAKE_BINARY_DIR}/Dependencies/ShaderConductor/Bin/Debug/ShaderConductor.dll ${CMAKE_BINARY_DIR}/Dependencies/ShaderConductor/Bin/Debug/ShaderConductor.dll
${CMAKE_BINARY_DIR}/bin/Debug) ${CMAKE_BINARY_DIR}/bin/Debug)
endif()

View file

@ -35,7 +35,6 @@ namespace Light {
void GameLoop(); void GameLoop();
// To be defined in client project // To be defined in client project
friend Application* CreateApplication();
protected: protected:
Application(); Application();
@ -46,4 +45,6 @@ namespace Light {
void LogDebugData(); void LogDebugData();
}; };
Application* CreateApplication();
} }

View file

@ -5,7 +5,7 @@
namespace Light { namespace Math { namespace Light { namespace Math {
float Math::Rand(int min, int max, int decimals /* = 0 */) float Rand(int min, int max, int decimals /* = 0 */)
{ {
const int dec = std::pow(10, decimals); const int dec = std::pow(10, decimals);
min *= dec; min *= dec;
@ -14,7 +14,7 @@ namespace Light { namespace Math {
return (min + (rand() % (max)-min)) / (float)dec; return (min + (rand() % (max)-min)) / (float)dec;
} }
glm::vec2 Math::RandVec2(int min, int max, int decimals /* = 0 */) glm::vec2 RandVec2(int min, int max, int decimals /* = 0 */)
{ {
const int dec = std::pow(10, decimals); const int dec = std::pow(10, decimals);
min *= dec; min *= dec;
@ -26,7 +26,7 @@ namespace Light { namespace Math {
return glm::vec2(r1, r2); return glm::vec2(r1, r2);
} }
glm::vec3 Math::RandVec3(int min, int max, int decimals /* = 0 */) glm::vec3 RandVec3(int min, int max, int decimals /* = 0 */)
{ {
const int dec = std::pow(10, decimals); const int dec = std::pow(10, decimals);
min *= dec; min *= dec;

View file

@ -1,4 +1,4 @@
cmake_minimum_required(VERSION 3.21.2) cmake_minimum_required(VERSION 3.14)
if (CMAKE_COMPILER_IS_GNUCC) if (CMAKE_COMPILER_IS_GNUCC)
add_compile_options(-w) add_compile_options(-w)

View file

@ -84,7 +84,7 @@ namespace Light {
const glm::vec4 tint = glm::vec4(Math::RandVec3(0, 1, 2), 1.0f); const glm::vec4 tint = glm::vec4(Math::RandVec3(0, 1, 2), 1.0f);
auto& entity = m_Scene->CreateEntity("quad" + std::to_string(i), { translation, scale, rotation }); auto entity = m_Scene->CreateEntity("quad" + std::to_string(i), { translation, scale, rotation });
entity.AddComponent<SpriteRendererComponent>(texture, tint); entity.AddComponent<SpriteRendererComponent>(texture, tint);
} }
} }