Converted SHADE_Engine to a DLL project and exported common use classes
This commit is contained in:
parent
91709b16c3
commit
cba3aa0663
|
@ -2,6 +2,9 @@
|
|||
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
# Visual Studio Version 16
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "SHADE_Application", "SHADE_Application\SHADE_Application.vcxproj", "{BDC70008-29DE-FE9D-7255-8ABFDEAACF25}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{8EAD431C-7A4F-6EF2-630A-82464F4BF542} = {8EAD431C-7A4F-6EF2-630A-82464F4BF542}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Dependencies", "Dependencies", "{53E47842-3FC8-3998-A828-34EB942B241A}"
|
||||
EndProject
|
||||
|
|
|
@ -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>
|
||||
|
@ -80,7 +80,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>
|
||||
|
|
|
@ -23,7 +23,8 @@ project "SHADE_Application"
|
|||
{
|
||||
"%{IncludeDir.spdlog}/include",
|
||||
"../SHADE_Engine/src",
|
||||
"src"
|
||||
"src",
|
||||
"%{IncludeDir.dotnet}/include",
|
||||
}
|
||||
|
||||
flags
|
||||
|
|
|
@ -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'">
|
||||
<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'">
|
||||
<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,17 @@
|
|||
<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>
|
||||
</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 +96,10 @@
|
|||
<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>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="src\ECS_Base\Components\SHComponent.h" />
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
project "SHADE_Engine"
|
||||
kind "StaticLib"
|
||||
kind "SharedLib"
|
||||
language "C++"
|
||||
cppdialect "C++latest"
|
||||
targetdir (outputdir)
|
||||
|
@ -66,7 +66,8 @@ project "SHADE_Engine"
|
|||
"_LIB",
|
||||
"_GLFW_INCLUDE_NONE",
|
||||
"MSDFGEN_USE_CPP11",
|
||||
"NOMINMAX"
|
||||
"NOMINMAX",
|
||||
"SH_API_EXPORT"
|
||||
}
|
||||
|
||||
flags
|
||||
|
|
|
@ -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:
|
||||
/*---------------------------------------------------------------------------------*/
|
||||
|
|
|
@ -15,6 +15,7 @@
|
|||
|
||||
#define SPDLOG_ACTIVE_LEVEL SPDLOG_LEVEL_TRACE
|
||||
#include <spdlog/spdlog.h>
|
||||
#include "SH_API.h"
|
||||
|
||||
/*-------------------------------------------------------------------------------------*/
|
||||
/* Macros */
|
||||
|
@ -27,7 +28,7 @@ namespace SHADE
|
|||
/* Type Definitions */
|
||||
/*-----------------------------------------------------------------------------------*/
|
||||
|
||||
class SHLogger
|
||||
class SH_API SHLogger
|
||||
{
|
||||
public:
|
||||
/*---------------------------------------------------------------------------------*/
|
||||
|
|
|
@ -12,14 +12,14 @@ workspace "SHADE"
|
|||
|
||||
flags
|
||||
{
|
||||
"MultiProcessorCompile"
|
||||
"MultiProcessorCompile"
|
||||
}
|
||||
|
||||
outputdir = "%{wks.location}/bin/%{cfg.buildcfg}"
|
||||
interdir = "%{wks.location}/bin_int"
|
||||
|
||||
include "SHADE_Application"
|
||||
include "SHADE_Engine"
|
||||
include "SHADE_Application"
|
||||
|
||||
group "Dependencies"
|
||||
include "Dependencies/msdf"
|
||||
|
|
Loading…
Reference in New Issue