欢迎光临散文网 会员登陆 & 注册

【译】【Game Engine】007. Premake

2023-03-07 23:45 作者:RacolW  | 我要投稿

premake5.lua 排雷总结版本

对原来的postbuildcommands和defines进行了修正

以下是代码:

workspace "Hazel" 

architecture "x86_64"

startproject "Sandbox"


configurations

{

"Debug",

"Release",

"Dist"

}


outputdir="%{cfg.buildcfg}-%{cfg.system}-%{cfg.architecture}"


project "Hazel"

location "Hazel"

kind "SharedLib"

language "C++"


targetdir("bin/" .. outputdir .. "/%{prj.name}")

objdir("bin-int/" .. outputdir .. "/%{prj.name}")


files

{

"%{prj.name}/src/**.h",

"%{prj.name}/src/**.cpp"

}


includedirs

{

"%{prj.name}/src/Hazel/vendor/spdlog/include",

"%{prj.name}/vendor/spdlog/include",

"%{prj.name}/src" 

}


filter "system:windows"


cppdialect "C++17"

staticruntime "On"

systemversion "latest"


defines

{

"HZ_PLATFORM_WINDOWS",

"HZ_BUILD_DLL",

"_WINDLL"

}


postbuildcommands

{

("{COPY} %{cfg.buildtarget.relpath} \"../bin/" .. outputdir .. "/Sandbox/\"")

}


filter "configurations:Debug"

defines "HZ_DEBUG"

symbols "On"


filter "configurations:Release"

defines "HZ_RELEASE"

optimize "On"


filter "configurations:Dist"

defines "HZ_DIST"

optimize "On"


project "Sandbox"

location "Sandbox"

kind "ConsoleApp"

language "C++"


targetdir("bin/" .. outputdir .. "/%{prj.name}")

objdir("bin-int/" .. outputdir .. "/%{prj.name}")


files

{


"%{prj.name}/src/**.h",

"%{prj.name}/src/**.cpp",

"%{prj.name}/src/**.hpp"

}


includedirs

{

"Hazel/src/Hazel/vendor/spdlog/include",

"Hazel/vendor/spdlog/include",

"Hazel/src" 

}


links

{

"Hazel"

}


filter "system:windows"

cppdialect "C++17"

staticruntime "On"

systemversion "latest"


defines

{

"HZ_PLATFORM_WINDOWS",

}


filter "configurations:Debug"


defines "HZ_DEBUG"


symbols "On"


filter "configurations:Release"


defines "HZ_RELEASE"


optimize "On"


filter "configurations:Dist"


defines "HZ_DIST"


optimize "On"


【译】【Game Engine】007. Premake的评论 (共 条)

分享到微博请遵守国家法律