light/Engine/build.lua

128 lines
2.1 KiB
Lua
Raw Normal View History

2021-05-20 11:49:24 +04:30
project "Engine"
-- Output Directories --
2021-05-21 15:00:29 +04:30
location "%{wks.location}/Engine/"
2021-05-20 11:49:24 +04:30
2021-08-21 15:53:36 +04:30
targetdir (target_dir)
objdir (object_dir)
2021-05-20 11:49:24 +04:30
-- Compiler --
kind "StaticLib"
language "C++"
cppdialect "C++17"
2021-05-26 16:28:37 +04:30
pchsource "src/Engine/ltpch.cpp"
pchheader "ltpch.h"
2021-08-21 15:53:36 +04:30
-- Project Files --
2021-05-20 11:49:24 +04:30
files
{
-- src
"%{prj.location}/src/**.h",
"%{prj.location}/src/**.cpp",
2021-08-21 15:53:36 +04:30
-- res
"%{prj.location}/res/**",
-- build.lua
"%{prj.location}/build.lua",
2021-05-20 11:49:24 +04:30
}
2021-08-21 15:53:36 +04:30
-- Includes --
2021-05-21 10:55:39 +04:30
includedirs
{
-- engine
2021-08-21 15:53:36 +04:30
"%{include_dirs.engine}",
"%{include_dirs.engine_platform_graphics}",
"%{include_dirs.engine_platform_os}",
2021-05-21 10:55:39 +04:30
2021-05-25 18:35:52 +04:30
-- 3rd party
2021-08-21 15:53:36 +04:30
"%{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}",
2021-08-22 16:02:05 +04:30
"%{include_dirs.shaderc}",
"%{include_dirs.vulkan_sdk}",
}
-- Libraries --
libdirs
{
"%{lib_dirs.vulkan_sdk}",
2021-05-21 10:55:39 +04:30
}
2021-05-21 15:00:29 +04:30
2021-08-21 15:53:36 +04:30
-- Links --
2021-05-21 15:00:29 +04:30
links
{
2021-08-21 15:53:36 +04:30
"GLFW",
"GLAD",
"ImGui",
"stb_image",
"entt",
2021-08-22 16:02:05 +04:30
"shaderc",
"%{libs.spirv_cross}",
2021-05-21 15:00:29 +04:30
}
2021-05-20 11:49:24 +04:30
--- Filters ---
-- windows
filter "system:windows"
2021-05-27 18:55:30 +04:30
defines "LIGHT_PLATFORM_WINDOWS"
2021-05-20 11:49:24 +04:30
systemversion "latest"
staticruntime "on"
2021-06-02 09:07:45 +04:30
links
{
2021-08-21 15:53:36 +04:30
"d3d11.lib",
"dxguid.lib",
"D3DCompiler.lib",
2021-06-02 09:07:45 +04:30
}
flags { "MultiProcessorCompile" }
2021-06-26 13:09:11 +04:30
filter { "system:windows", "files:src/Platform/OS/Linux/**.**" }
flags { "ExcludeFromBuild" }
2021-06-26 13:09:11 +04:30
-- 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"
2021-05-20 11:49:24 +04:30
-- debug
filter "configurations:Debug"
2021-06-15 09:39:11 +04:30
defines "LIGHT_DEBUG"
2021-05-20 11:49:24 +04:30
symbols "on"
-- release
filter "configurations:Release"
2021-06-15 09:39:11 +04:30
defines "LIGHT_RELEASE"
2021-05-20 11:49:24 +04:30
optimize "on"
-- distribution
filter "configurations:Distribution"
2021-06-15 09:39:11 +04:30
defines "LIGHT_DIST"
2021-08-21 15:53:36 +04:30
optimize "full"
filter { "files:**.hlsl" }
flags "ExcludeFromBuild"
shadermodel "4.0"