Convert SHADE_Engine to a DLL and made all projects use a shared output and intermediate directory #14
|
@ -15,8 +15,6 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "msdfgen", "Dependencies\msd
|
|||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "reactphysics3d", "Dependencies\reactphysics3d\reactphysics3d.vcxproj", "{2ECAB41A-1A98-A820-032C-1947EF988485}"
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "spdlog", "Dependencies\spdlog\spdlog.vcxproj", "{8EAD431C-7A4F-6EF2-630A-82464F4BF542}"
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "yaml-cpp", "Dependencies\yamlcpp\yaml-cpp.vcxproj", "{88F1A057-74BE-FB62-9DD7-E90A890331F1}"
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "SHADE_Engine", "SHADE_Engine\SHADE_Engine.vcxproj", "{3F92E998-2BF5-783D-D47A-B1F3C0BC44C0}"
|
||||
|
@ -26,7 +24,6 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "SHADE_Engine", "SHADE_Engin
|
|||
{38BD587B-248B-4C81-0D1F-BDA7F98B28E6} = {38BD587B-248B-4C81-0D1F-BDA7F98B28E6}
|
||||
{2ECAB41A-1A98-A820-032C-1947EF988485} = {2ECAB41A-1A98-A820-032C-1947EF988485}
|
||||
{C0FF640D-2C14-8DBE-F595-301E616989EF} = {C0FF640D-2C14-8DBE-F595-301E616989EF}
|
||||
{8EAD431C-7A4F-6EF2-630A-82464F4BF542} = {8EAD431C-7A4F-6EF2-630A-82464F4BF542}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Global
|
||||
|
@ -59,10 +56,6 @@ Global
|
|||
{2ECAB41A-1A98-A820-032C-1947EF988485}.Debug|x64.Build.0 = Debug|x64
|
||||
{2ECAB41A-1A98-A820-032C-1947EF988485}.Release|x64.ActiveCfg = Release|x64
|
||||
{2ECAB41A-1A98-A820-032C-1947EF988485}.Release|x64.Build.0 = Release|x64
|
||||
{8EAD431C-7A4F-6EF2-630A-82464F4BF542}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{8EAD431C-7A4F-6EF2-630A-82464F4BF542}.Debug|x64.Build.0 = Debug|x64
|
||||
{8EAD431C-7A4F-6EF2-630A-82464F4BF542}.Release|x64.ActiveCfg = Release|x64
|
||||
{8EAD431C-7A4F-6EF2-630A-82464F4BF542}.Release|x64.Build.0 = Release|x64
|
||||
{88F1A057-74BE-FB62-9DD7-E90A890331F1}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{88F1A057-74BE-FB62-9DD7-E90A890331F1}.Debug|x64.Build.0 = Debug|x64
|
||||
{88F1A057-74BE-FB62-9DD7-E90A890331F1}.Release|x64.ActiveCfg = Release|x64
|
||||
|
@ -81,7 +74,6 @@ Global
|
|||
{38BD587B-248B-4C81-0D1F-BDA7F98B28E6} = {53E47842-3FC8-3998-A828-34EB942B241A}
|
||||
{8900D8DD-F5DF-5679-FEF7-E14F6A56BDDA} = {53E47842-3FC8-3998-A828-34EB942B241A}
|
||||
{2ECAB41A-1A98-A820-032C-1947EF988485} = {53E47842-3FC8-3998-A828-34EB942B241A}
|
||||
{8EAD431C-7A4F-6EF2-630A-82464F4BF542} = {53E47842-3FC8-3998-A828-34EB942B241A}
|
||||
{88F1A057-74BE-FB62-9DD7-E90A890331F1} = {53E47842-3FC8-3998-A828-34EB942B241A}
|
||||
EndGlobalSection
|
||||
EndGlobal
|
||||
|
|
|
@ -42,15 +42,15 @@
|
|||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<LinkIncremental>true</LinkIncremental>
|
||||
<OutDir>bin\Debug_x86_64\SHADE_Application\</OutDir>
|
||||
<IntDir>bin-int\Debug_x86_64\SHADE_Application\</IntDir>
|
||||
<OutDir>..\bin\Debug\</OutDir>
|
||||
<IntDir>..\bin_int\Debug\SHADE_Application\</IntDir>
|
||||
<TargetName>SHADE_Application</TargetName>
|
||||
<TargetExt>.exe</TargetExt>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
<OutDir>bin\Release_x86_64\SHADE_Application\</OutDir>
|
||||
<IntDir>bin-int\Release_x86_64\SHADE_Application\</IntDir>
|
||||
<OutDir>..\bin\Release\</OutDir>
|
||||
<IntDir>..\bin_int\Release\SHADE_Application\</IntDir>
|
||||
<TargetName>SHADE_Application</TargetName>
|
||||
<TargetExt>.exe</TargetExt>
|
||||
</PropertyGroup>
|
||||
|
@ -60,7 +60,7 @@
|
|||
<PrecompiledHeaderFile>SBpch.h</PrecompiledHeaderFile>
|
||||
<WarningLevel>Level4</WarningLevel>
|
||||
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories>..\Dependencies\spdlog\include;..\SHADE_Engine\src;src;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<AdditionalIncludeDirectories>..\Dependencies\spdlog\include;..\SHADE_Engine\src;src;include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<MinimalRebuild>false</MinimalRebuild>
|
||||
|
@ -71,6 +71,8 @@
|
|||
<Link>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<AdditionalDependencies>spdlogd.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<AdditionalLibraryDirectories>..\Dependencies\spdlog\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<EntryPointSymbol>wWinMainCRTStartup</EntryPointSymbol>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
|
@ -80,7 +82,7 @@
|
|||
<PrecompiledHeaderFile>SBpch.h</PrecompiledHeaderFile>
|
||||
<WarningLevel>Level4</WarningLevel>
|
||||
<PreprocessorDefinitions>_RELEASE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories>..\Dependencies\spdlog\include;..\SHADE_Engine\src;src;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<AdditionalIncludeDirectories>..\Dependencies\spdlog\include;..\SHADE_Engine\src;src;include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<Optimization>Full</Optimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
|
@ -94,6 +96,8 @@
|
|||
<SubSystem>Windows</SubSystem>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<AdditionalDependencies>spdlog.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<AdditionalLibraryDirectories>..\Dependencies\spdlog\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<EntryPointSymbol>wWinMainCRTStartup</EntryPointSymbol>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
|
|
|
@ -2,8 +2,8 @@ project "SHADE_Application"
|
|||
kind "WindowedApp"
|
||||
language "C++"
|
||||
cppdialect "C++latest"
|
||||
targetdir ("bin/" .. outputdir .. "/%{prj.name}")
|
||||
objdir ("bin-int/" .. outputdir .. "/%{prj.name}")
|
||||
targetdir (outputdir)
|
||||
objdir (interdir)
|
||||
systemversion "latest"
|
||||
pchheader "SBpch.h"
|
||||
pchsource "%{prj.location}/src/SBpch.cpp"
|
||||
|
@ -14,6 +14,7 @@ project "SHADE_Application"
|
|||
files
|
||||
{
|
||||
"%{prj.location}/src/**.h",
|
||||
"%{prj.location}/src/**.hpp",
|
||||
"%{prj.location}/src/**.c",
|
||||
"%{prj.location}/src/**.cpp",
|
||||
"%{prj.location}/src/**.glsl",
|
||||
|
@ -23,7 +24,8 @@ project "SHADE_Application"
|
|||
{
|
||||
"%{IncludeDir.spdlog}/include",
|
||||
"../SHADE_Engine/src",
|
||||
"src"
|
||||
"src",
|
||||
"%{IncludeDir.dotnet}/include",
|
||||
}
|
||||
|
||||
flags
|
||||
|
@ -33,9 +35,14 @@ project "SHADE_Application"
|
|||
|
||||
links
|
||||
{
|
||||
"SHADE_Engine"
|
||||
"SHADE_Engine",
|
||||
}
|
||||
|
||||
libdirs
|
||||
{
|
||||
"%{IncludeDir.spdlog}/lib",
|
||||
}
|
||||
|
||||
postbuildcommands
|
||||
{
|
||||
}
|
||||
|
@ -45,7 +52,9 @@ project "SHADE_Application"
|
|||
filter "configurations:Debug"
|
||||
symbols "On"
|
||||
defines {"_DEBUG"}
|
||||
links{"spdlogd.lib"}
|
||||
|
||||
filter "configurations:Release"
|
||||
optimize "On"
|
||||
defines{"_RELEASE"}
|
||||
defines{"_RELEASE"}
|
||||
links{"spdlog.lib"}
|
||||
|
|
|
@ -26,13 +26,15 @@ INT WINAPI wWinMain
|
|||
)
|
||||
{
|
||||
const SHADE::SHLogger::Config LOGGER_CONFIG{ .directoryPath = "./logs/" };
|
||||
SHADE::SHLogger::Initialise(LOGGER_CONFIG);
|
||||
auto logger = SHADE::SHLogger::Initialise(LOGGER_CONFIG);
|
||||
|
||||
try
|
||||
{
|
||||
#ifndef SHEDITOR
|
||||
//ShowWindow(::GetConsoleWindow(), SW_HIDE);
|
||||
#endif
|
||||
#endif
|
||||
|
||||
SHLOG_REGISTER(logger)
|
||||
|
||||
SHADE::SHEngine::Run<Sandbox::SBApplication>(hInstance, hPrevInstance, lpCmdLine, nCmdShow);
|
||||
_CrtSetDbgFlag(_CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF);
|
||||
|
|
|
@ -19,13 +19,13 @@
|
|||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
<PlatformToolset>v142</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
<PlatformToolset>v142</PlatformToolset>
|
||||
|
@ -41,23 +41,25 @@
|
|||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<OutDir>bin\Debug_x86_64\SHADE_Engine\</OutDir>
|
||||
<IntDir>bin-int\Debug_x86_64\SHADE_Engine\</IntDir>
|
||||
<LinkIncremental>true</LinkIncremental>
|
||||
<OutDir>..\bin\Debug\</OutDir>
|
||||
<IntDir>..\bin_int\Debug\SHADE_Engine\</IntDir>
|
||||
<TargetName>SHADE_Engine</TargetName>
|
||||
<TargetExt>.lib</TargetExt>
|
||||
<TargetExt>.dll</TargetExt>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<OutDir>bin\Release_x86_64\SHADE_Engine\</OutDir>
|
||||
<IntDir>bin-int\Release_x86_64\SHADE_Engine\</IntDir>
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
<OutDir>..\bin\Release\</OutDir>
|
||||
<IntDir>..\bin_int\Release\SHADE_Engine\</IntDir>
|
||||
<TargetName>SHADE_Engine</TargetName>
|
||||
<TargetExt>.lib</TargetExt>
|
||||
<TargetExt>.dll</TargetExt>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<ClCompile>
|
||||
<PrecompiledHeader>Use</PrecompiledHeader>
|
||||
<PrecompiledHeaderFile>SHpch.h</PrecompiledHeaderFile>
|
||||
<WarningLevel>Level4</WarningLevel>
|
||||
<PreprocessorDefinitions>_LIB;_GLFW_INCLUDE_NONE;MSDFGEN_USE_CPP11;NOMINMAX;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions>_LIB;_GLFW_INCLUDE_NONE;MSDFGEN_USE_CPP11;NOMINMAX;SH_API_EXPORT;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories>src;..\Dependencies\assimp\include;..\Dependencies\imgui;..\Dependencies\imguizmo;..\Dependencies\imnodes;..\Dependencies\msdf;..\Dependencies\msdf\msdfgen;..\Dependencies\spdlog\include;..\Dependencies\tracy;..\Dependencies\VMA\include;..\Dependencies\yamlcpp\include;..\Dependencies\ktx\include;..\Dependencies\RTTR\include;..\Dependencies\reactphysics3d\include;$(VULKAN_SDK)\include;$(VULKAN_SDK)\Source\SPIRV-Reflect;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
|
||||
<Optimization>Disabled</Optimization>
|
||||
|
@ -69,18 +71,20 @@
|
|||
<Link>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
</Link>
|
||||
<Lib>
|
||||
<AdditionalDependencies>vulkan-1.lib;shaderc_shared.lib;assimp-vc142-mtd.lib;ktxd.lib;librttr_core_d.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<AdditionalLibraryDirectories>libs;$(VULKAN_SDK)\Lib;..\Dependencies\assimp\lib\Debug;..\Dependencies\assimp\lib\Release;..\Dependencies\RTTR\lib;..\Dependencies\ktx\lib\Debug;..\Dependencies\ktx\lib\Release;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
</Lib>
|
||||
<ImportLibrary>..\bin\Debug\SHADE_Engine.lib</ImportLibrary>
|
||||
</Link>
|
||||
<PostBuildEvent>
|
||||
<Command>xcopy /s /r /y /q "$(SolutionDir)/Dependencies/spdlog/bin" "$(OutDir)"</Command>
|
||||
</PostBuildEvent>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<ClCompile>
|
||||
<PrecompiledHeader>Use</PrecompiledHeader>
|
||||
<PrecompiledHeaderFile>SHpch.h</PrecompiledHeaderFile>
|
||||
<WarningLevel>Level4</WarningLevel>
|
||||
<PreprocessorDefinitions>_LIB;_GLFW_INCLUDE_NONE;MSDFGEN_USE_CPP11;NOMINMAX;_RELEASE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions>_LIB;_GLFW_INCLUDE_NONE;MSDFGEN_USE_CPP11;NOMINMAX;SH_API_EXPORT;_RELEASE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories>src;..\Dependencies\assimp\include;..\Dependencies\imgui;..\Dependencies\imguizmo;..\Dependencies\imnodes;..\Dependencies\msdf;..\Dependencies\msdf\msdfgen;..\Dependencies\spdlog\include;..\Dependencies\tracy;..\Dependencies\VMA\include;..\Dependencies\yamlcpp\include;..\Dependencies\ktx\include;..\Dependencies\RTTR\include;..\Dependencies\reactphysics3d\include;$(VULKAN_SDK)\include;$(VULKAN_SDK)\Source\SPIRV-Reflect;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<Optimization>Full</Optimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
|
@ -95,11 +99,13 @@
|
|||
<SubSystem>Windows</SubSystem>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
</Link>
|
||||
<Lib>
|
||||
<AdditionalDependencies>vulkan-1.lib;shaderc_shared.lib;assimp-vc142-mt.lib;ktx.lib;librttr_core.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<AdditionalLibraryDirectories>libs;$(VULKAN_SDK)\Lib;..\Dependencies\assimp\lib\Debug;..\Dependencies\assimp\lib\Release;..\Dependencies\RTTR\lib;..\Dependencies\ktx\lib\Debug;..\Dependencies\ktx\lib\Release;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
</Lib>
|
||||
<ImportLibrary>..\bin\Release\SHADE_Engine.lib</ImportLibrary>
|
||||
</Link>
|
||||
<PostBuildEvent>
|
||||
<Command>xcopy /s /r /y /q "$(SolutionDir)/Dependencies/spdlog/bin" "$(OutDir)"</Command>
|
||||
</PostBuildEvent>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="src\ECS_Base\Components\SHComponent.h" />
|
||||
|
@ -184,6 +190,7 @@
|
|||
<ClInclude Include="src\Resource\Handle.h" />
|
||||
<ClInclude Include="src\Resource\ResourceLibrary.h" />
|
||||
<ClInclude Include="src\Resource\SparseSet.h" />
|
||||
<ClInclude Include="src\SH_API.h" />
|
||||
<ClInclude Include="src\SHpch.h" />
|
||||
<ClInclude Include="src\Scene\SHScene.h" />
|
||||
<ClInclude Include="src\Scene\SHSceneGraph.h" />
|
||||
|
@ -280,9 +287,6 @@
|
|||
<ProjectReference Include="..\Dependencies\imgui\ImGui.vcxproj">
|
||||
<Project>{C0FF640D-2C14-8DBE-F595-301E616989EF}</Project>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\Dependencies\spdlog\spdlog.vcxproj">
|
||||
<Project>{8EAD431C-7A4F-6EF2-630A-82464F4BF542}</Project>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
|
|
|
@ -360,6 +360,7 @@
|
|||
<ClInclude Include="src\Resource\SparseSet.h">
|
||||
<Filter>Resource</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\SH_API.h" />
|
||||
<ClInclude Include="src\SHpch.h" />
|
||||
<ClInclude Include="src\Scene\SHScene.h">
|
||||
<Filter>Scene</Filter>
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
project "SHADE_Engine"
|
||||
kind "StaticLib"
|
||||
kind "SharedLib"
|
||||
language "C++"
|
||||
cppdialect "C++latest"
|
||||
targetdir ("bin/" .. outputdir .. "/%{prj.name}")
|
||||
objdir ("bin-int/" .. outputdir .. "/%{prj.name}")
|
||||
targetdir (outputdir)
|
||||
objdir (interdir)
|
||||
systemversion "latest"
|
||||
pchheader "SHpch.h"
|
||||
pchsource "%{prj.location}/src/SHpch.cpp"
|
||||
|
@ -35,7 +35,7 @@ project "SHADE_Engine"
|
|||
"%{IncludeDir.RTTR}/include",
|
||||
"%{IncludeDir.reactphysics3d}/include",
|
||||
"%{IncludeDir.VULKAN}/include",
|
||||
"%{IncludeDir.VULKAN}/Source/SPIRV-Reflect"
|
||||
"%{IncludeDir.VULKAN}/Source/SPIRV-Reflect"
|
||||
}
|
||||
|
||||
libdirs
|
||||
|
@ -56,7 +56,6 @@ project "SHADE_Engine"
|
|||
"msdf-atlas-gen",
|
||||
"reactphysics3d",
|
||||
"imgui",
|
||||
"spdlog",
|
||||
"vulkan-1.lib",
|
||||
"shaderc_shared.lib"
|
||||
}
|
||||
|
@ -66,7 +65,8 @@ project "SHADE_Engine"
|
|||
"_LIB",
|
||||
"_GLFW_INCLUDE_NONE",
|
||||
"MSDFGEN_USE_CPP11",
|
||||
"NOMINMAX"
|
||||
"NOMINMAX",
|
||||
"SH_API_EXPORT"
|
||||
}
|
||||
|
||||
flags
|
||||
|
@ -81,7 +81,11 @@ project "SHADE_Engine"
|
|||
"msdf-atlas-gen",
|
||||
"reactphysics3d",
|
||||
"imgui",
|
||||
"spdlog",
|
||||
}
|
||||
|
||||
postbuildcommands
|
||||
{
|
||||
"xcopy /s /r /y /q \"%{IncludeDir.spdlog}/bin\" \"$(OutDir)\""
|
||||
}
|
||||
|
||||
warnings 'Extra'
|
||||
|
|
|
@ -14,13 +14,14 @@
|
|||
|
||||
#include "SHpch.h"
|
||||
#include "../SHECSMacros.h"
|
||||
#include "SH_API.h"
|
||||
|
||||
namespace SHADE
|
||||
{
|
||||
|
||||
class SHComponentManager;
|
||||
|
||||
class SHComponent
|
||||
class SH_API SHComponent
|
||||
{
|
||||
friend SHComponentManager;
|
||||
|
||||
|
|
|
@ -15,6 +15,7 @@
|
|||
#include "../Components/SHComponent.h"
|
||||
#include "../System/SHComponentManager.h"
|
||||
//#include "../../Scene/SHSceneNode.h"
|
||||
#include "SH_API.h"
|
||||
|
||||
|
||||
|
||||
|
@ -23,7 +24,7 @@ namespace SHADE
|
|||
class SHComponentManager;
|
||||
class SHEntityManager;
|
||||
|
||||
class SHEntity
|
||||
class SH_API SHEntity
|
||||
{
|
||||
public:
|
||||
|
||||
|
|
|
@ -19,13 +19,14 @@
|
|||
#include "../Components/SHComponent.h"
|
||||
#include "../Components/SHComponentGroup.h"
|
||||
//#include "Scene/SHSceneNode.h"
|
||||
#include "SH_API.h"
|
||||
|
||||
|
||||
#include <cassert>
|
||||
|
||||
namespace SHADE
|
||||
{
|
||||
class SHComponentManager
|
||||
class SH_API SHComponentManager
|
||||
{
|
||||
private:
|
||||
|
||||
|
|
|
@ -22,11 +22,12 @@
|
|||
#include "../Components/SHComponent.h"
|
||||
#include "../General/SHHandleGenerator.h"
|
||||
#include "../SHECSMacros.h"
|
||||
#include "SH_API.h"
|
||||
|
||||
namespace SHADE
|
||||
{
|
||||
|
||||
class SHEntityManager
|
||||
class SH_API SHEntityManager
|
||||
{
|
||||
private:
|
||||
static std::vector<std::unique_ptr<SHEntity>> entityVec;
|
||||
|
|
|
@ -5,6 +5,7 @@
|
|||
#include <functional>
|
||||
#include <unordered_map>
|
||||
#include "SHWindowMap.h"
|
||||
#include "SH_API.h"
|
||||
|
||||
namespace SHADE
|
||||
{
|
||||
|
@ -67,7 +68,7 @@ namespace SHADE
|
|||
std::string icoPath = "";
|
||||
};
|
||||
|
||||
class SHWindow
|
||||
class SH_API SHWindow
|
||||
{
|
||||
public:
|
||||
using SHVec2 = std::pair<uint32_t, uint32_t>;
|
||||
|
|
|
@ -0,0 +1,36 @@
|
|||
/************************************************************************************//*!
|
||||
\file SH_API.h
|
||||
\author Tng Kah Wei, kahwei.tng, 390009620
|
||||
\par email: kahwei.tng\@digipen.edu
|
||||
\date Sep 13, 2022
|
||||
\brief Contains dllexport and dllimport macros for the SHADE Engine.
|
||||
|
||||
Copyright (C) 2022 DigiPen Institute of Technology.
|
||||
Reproduction or disclosure of this file or its contents without the prior written consent
|
||||
of DigiPen Institute of Technology is prohibited.
|
||||
*//*************************************************************************************/
|
||||
#pragma once
|
||||
|
||||
// Select the correct export system based on the compiler
|
||||
#if defined SH_LIB
|
||||
# define SH_API
|
||||
#else
|
||||
# if defined _WIN32 || defined __CYGWIN__ || defined _MSC_VER
|
||||
# define SH_EXPORT __declspec(dllexport)
|
||||
# define SH_IMPORT __declspec(dllimport)
|
||||
# elif defined __GNUC__ && __GNUC__ >= 4
|
||||
# define SH_EXPORT __attribute__((visibility("default")))
|
||||
# define SH_IMPORT __attribute__((visibility("default")))
|
||||
# else /* Unsupported compiler */
|
||||
# define SH_EXPORT
|
||||
# define SH_IMPORT
|
||||
# endif
|
||||
// Define the correct
|
||||
# ifndef SH_API
|
||||
# if defined SH_API_EXPORT
|
||||
# define SH_API SH_EXPORT
|
||||
# else
|
||||
# define SH_API SH_IMPORT
|
||||
# endif
|
||||
# endif
|
||||
#endif
|
|
@ -12,13 +12,15 @@
|
|||
|
||||
#include <exception>
|
||||
|
||||
#include "SH_API.h"
|
||||
|
||||
namespace SHADE
|
||||
{
|
||||
/*-----------------------------------------------------------------------------------*/
|
||||
/* Type Definitions */
|
||||
/*-----------------------------------------------------------------------------------*/
|
||||
|
||||
class SHExceptionHandler
|
||||
class SH_API SHExceptionHandler
|
||||
{
|
||||
public:
|
||||
/*---------------------------------------------------------------------------------*/
|
||||
|
|
|
@ -30,8 +30,9 @@ namespace SHADE
|
|||
/*-----------------------------------------------------------------------------------*/
|
||||
/* Static Data Member Definitions */
|
||||
/*-----------------------------------------------------------------------------------*/
|
||||
unsigned char SHLogger::configFlags = DEFAULT_CONFIG_FLAG;
|
||||
SHLogger::DateFormat SHLogger::dateFormat = SHLogger::DateFormat::DD_MM_YY;
|
||||
unsigned char SHLogger::configFlags = DEFAULT_CONFIG_FLAG;
|
||||
SHLogger::DateFormat SHLogger::dateFormat = SHLogger::DateFormat::DD_MM_YY;
|
||||
SHLogger::Logger SHLogger::logger = nullptr;
|
||||
std::string SHLogger::trivialPattern;
|
||||
std::string SHLogger::verbosePattern;
|
||||
|
||||
|
@ -142,7 +143,7 @@ namespace SHADE
|
|||
/* Public Function Member Definitions */
|
||||
/*-----------------------------------------------------------------------------------*/
|
||||
|
||||
void SHLogger::Initialise(const Config& config)
|
||||
SHLogger::Logger SHLogger::Initialise(const Config& config)
|
||||
{
|
||||
SetConfig(config);
|
||||
|
||||
|
@ -176,10 +177,10 @@ namespace SHADE
|
|||
FILE_SINK->set_pattern(trivialPattern + "%v");
|
||||
|
||||
// Create and register logger with spdlog
|
||||
const auto LOGGER = std::make_shared<spdlog::logger>(SHLOGGER_NAME, sinks.begin(), sinks.end());
|
||||
LOGGER->set_level(spdlog::level::trace);
|
||||
LOGGER->flush_on(spdlog::level::trace);
|
||||
register_logger(LOGGER);
|
||||
logger = std::make_shared<spdlog::logger>(SHLOGGER_NAME, sinks.begin(), sinks.end());
|
||||
logger->set_level(spdlog::level::trace);
|
||||
logger->flush_on(spdlog::level::trace);
|
||||
spdlog::register_logger(logger);
|
||||
|
||||
// Flush every 3 seconds
|
||||
spdlog::flush_every(std::chrono::seconds(config.flushTime));
|
||||
|
@ -190,6 +191,8 @@ namespace SHADE
|
|||
{
|
||||
std::cout << "Log initialisation failed: " << e.what() << std::endl;
|
||||
}
|
||||
|
||||
return logger;
|
||||
}
|
||||
|
||||
void SHLogger::Shutdown() noexcept
|
||||
|
|
|
@ -16,6 +16,7 @@
|
|||
|
||||
#define SPDLOG_ACTIVE_LEVEL SPDLOG_LEVEL_TRACE
|
||||
#include <spdlog/spdlog.h>
|
||||
#include "SH_API.h"
|
||||
|
||||
/*-------------------------------------------------------------------------------------*/
|
||||
/* Macros */
|
||||
|
@ -28,13 +29,15 @@ namespace SHADE
|
|||
/* Type Definitions */
|
||||
/*-----------------------------------------------------------------------------------*/
|
||||
|
||||
class SHLogger
|
||||
class SH_API SHLogger
|
||||
{
|
||||
public:
|
||||
/*---------------------------------------------------------------------------------*/
|
||||
/* Type Definitions */
|
||||
/*---------------------------------------------------------------------------------*/
|
||||
|
||||
using Logger = std::shared_ptr<spdlog::logger>;
|
||||
|
||||
enum class ClockFormat { _12HR, _24HR };
|
||||
|
||||
enum class DateFormat
|
||||
|
@ -107,8 +110,8 @@ namespace SHADE
|
|||
* @brief Creates a console and a file to log to.
|
||||
* @param[in] config The configuration parameters for the logger.
|
||||
*/
|
||||
static void Initialise (const Config& config = Config{});
|
||||
static void Shutdown () noexcept;
|
||||
static Logger Initialise (const Config& config = Config{});
|
||||
static void Shutdown () noexcept;
|
||||
|
||||
/**
|
||||
* @brief The next message logged by the logger will be set to follow the trivial pattern.
|
||||
|
@ -144,7 +147,9 @@ namespace SHADE
|
|||
static constexpr short DEFAULT_CONSOLE_LEN = 1024;
|
||||
|
||||
static unsigned char configFlags; // Initialised 0 0 FuncLine# FuncFileName Date TimeFormat Time
|
||||
static DateFormat dateFormat;
|
||||
static DateFormat dateFormat;
|
||||
|
||||
static Logger logger;
|
||||
|
||||
static std::string trivialPattern;
|
||||
static std::string verbosePattern;
|
||||
|
@ -190,3 +195,6 @@ namespace SHADE
|
|||
|
||||
// Misc Logging Macros
|
||||
#define SHLOG_FLOOR() SHADE::SHLogger::UseTrivialPattern(); SPDLOG_LOGGER_INFO(spdlog::get(SHLOGGER_NAME), "--------------------------------");
|
||||
|
||||
// For use outside the library to register the logger
|
||||
#define SHLOG_REGISTER(logger) spdlog::register_logger(logger); spdlog::set_level(spdlog::level::level_enum::trace);
|
||||
|
|
10
premake5.lua
10
premake5.lua
|
@ -12,18 +12,18 @@ workspace "SHADE"
|
|||
|
||||
flags
|
||||
{
|
||||
"MultiProcessorCompile"
|
||||
"MultiProcessorCompile"
|
||||
}
|
||||
|
||||
outputdir = "%{cfg.buildcfg}_%{cfg.architecture}"
|
||||
|
||||
include "SHADE_Application"
|
||||
outputdir = "%{wks.location}/bin/%{cfg.buildcfg}"
|
||||
interdir = "%{wks.location}/bin_int"
|
||||
|
||||
include "SHADE_Engine"
|
||||
include "SHADE_Application"
|
||||
|
||||
group "Dependencies"
|
||||
include "Dependencies/msdf"
|
||||
include "Dependencies/imgui"
|
||||
include "Dependencies/spdlog"
|
||||
--include "Dependencies/tracy"
|
||||
include "Dependencies/yamlcpp"
|
||||
include "Dependencies/reactphysics3d"
|
||||
|
|
Loading…
Reference in New Issue