128 lines
No EOL
2.1 KiB
Lua
128 lines
No EOL
2.1 KiB
Lua
project "Engine"
|
|
|
|
-- Output Directories --
|
|
location "%{wks.location}/Engine/"
|
|
|
|
targetdir (target_dir)
|
|
objdir (object_dir)
|
|
|
|
-- Compiler --
|
|
kind "StaticLib"
|
|
language "C++"
|
|
cppdialect "C++17"
|
|
|
|
pchsource "src/Engine/ltpch.cpp"
|
|
pchheader "ltpch.h"
|
|
|
|
-- Project Files --
|
|
files
|
|
{
|
|
-- src
|
|
"%{prj.location}/src/**.h",
|
|
"%{prj.location}/src/**.cpp",
|
|
|
|
-- res
|
|
"%{prj.location}/res/**",
|
|
|
|
-- build.lua
|
|
"%{prj.location}/build.lua",
|
|
}
|
|
|
|
-- Includes --
|
|
includedirs
|
|
{
|
|
-- engine
|
|
"%{include_dirs.engine}",
|
|
"%{include_dirs.engine_platform_graphics}",
|
|
"%{include_dirs.engine_platform_os}",
|
|
|
|
-- 3rd party
|
|
"%{include_dirs.entt}",
|
|
"%{include_dirs.glad}",
|
|
"%{include_dirs.glfw}",
|
|
"%{include_dirs.glm}",
|
|
"%{include_dirs.imgui}",
|
|
"%{include_dirs.imgui_backends}",
|
|
"%{include_dirs.spdlog}",
|
|
"%{include_dirs.stb_image}",
|
|
"%{include_dirs.volk}",
|
|
"%{include_dirs.shaderc}",
|
|
|
|
"%{include_dirs.vulkan_sdk}",
|
|
}
|
|
|
|
-- Libraries --
|
|
libdirs
|
|
{
|
|
"%{lib_dirs.vulkan_sdk}",
|
|
}
|
|
|
|
-- Links --
|
|
links
|
|
{
|
|
"GLFW",
|
|
"GLAD",
|
|
"ImGui",
|
|
"stb_image",
|
|
"entt",
|
|
"shaderc",
|
|
|
|
"%{libs.spirv_cross}",
|
|
}
|
|
|
|
--- Filters ---
|
|
-- windows
|
|
filter "system:windows"
|
|
defines "LIGHT_PLATFORM_WINDOWS"
|
|
systemversion "latest"
|
|
staticruntime "on"
|
|
|
|
links
|
|
{
|
|
"d3d11.lib",
|
|
"dxguid.lib",
|
|
"D3DCompiler.lib",
|
|
}
|
|
|
|
flags { "MultiProcessorCompile" }
|
|
|
|
filter { "system:windows", "files:src/Platform/OS/Linux/**.**" }
|
|
flags { "ExcludeFromBuild" }
|
|
|
|
-- linux
|
|
filter "system:linux"
|
|
defines "LIGHT_PLATFORM_LINUX"
|
|
links
|
|
{
|
|
"dl",
|
|
}
|
|
|
|
buildoptions
|
|
{
|
|
"-lgtest",
|
|
"-lpthread",
|
|
}
|
|
|
|
filter { "system:linux", "files:src/Platform/GraphicsAPI/DirectX/**.**" }
|
|
flags { "ExcludeFromBuild" }
|
|
filter { "system:linux", "files:src/Platform/OS/Windows/**.**" }
|
|
flags "ExcludeFromBuild"
|
|
|
|
-- debug
|
|
filter "configurations:Debug"
|
|
defines "LIGHT_DEBUG"
|
|
symbols "on"
|
|
|
|
-- release
|
|
filter "configurations:Release"
|
|
defines "LIGHT_RELEASE"
|
|
optimize "on"
|
|
|
|
-- distribution
|
|
filter "configurations:Distribution"
|
|
defines "LIGHT_DIST"
|
|
optimize "full"
|
|
|
|
filter { "files:**.hlsl" }
|
|
flags "ExcludeFromBuild"
|
|
shadermodel "4.0" |