ps4delta/code/premake5.lua
2019-12-14 22:33:20 +01:00

92 lines
2.2 KiB
Lua

require('vstudio')
-- reconfigure paths with qt support
premake.path = premake.path .. ";build"
package.path = package.path .. ";../tools/premake/premake-qt/?.lua"
-- use clang instead of msvc on windows
premake.override(premake.vstudio.vc2010, 'platformToolset', function(base, cfg)
premake.vstudio.vc2010.element("PlatformToolset", nil, "ClangCL")
end)
-- qt short alias
require('qt')
qt = premake.extensions.qt
workspace "PS4Delta"
configurations { "Debug", "Release" }
platforms { "x64" }
location "../build"
os.mkdir"../build/symbols"
targetprefix ""
buildoptions "/std:c++17"
characterset "Unicode"
-- multi threaded compilation
flags "MultiProcessorCompile"
pic "On"
symbols "On"
startproject "host"
targetdir '../bin/%{cfg.buildcfg}/'
defines { "FXNAME=\"%{wks.name}\"",
"FXNAME_WIDE=L\"%{wks.name}\""}
libdirs
{
"./shared/Lib",
}
filter "platforms:x64"
architecture "x86_64"
filter "configurations:Debug"
defines { "DELTA_DBG" }
filter "configurations:Release"
optimize "Speed"
filter {"system:windows", "kind:not StaticLib"}
linkoptions { "/PDB:\"$(SolutionDir)\\symbols\\$(ProjectName)_%{cfg.buildcfg}.pdb\"" }
filter { "system:windows", "kind:not StaticLib" }
linkoptions "/manifestdependency:\"type='Win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='*' publicKeyToken='6595b64144ccf1df' language='*'\""
-- Disable deprecation warnings and errors
filter "action:vs*"
defines
{
"NOMINMAX",
"WIN32_LEAN_AND_MEAN",
"_SILENCE_CXX17_CODECVT_HEADER_DEPRECATION_WARNING",
"_SILENCE_CXX17_ITERATOR_BASE_CLASS_DEPRECATION_WARNING",
"_CRT_SECURE_NO_WARNINGS",
"_CRT_SECURE_NO_DEPRECATE",
"_CRT_NONSTDC_NO_WARNINGS",
"_CRT_NONSTDC_NO_DEPRECATE",
"_SCL_SECURE_NO_WARNINGS",
"_SCL_SECURE_NO_DEPRECATE"
}
group "core"
include "delta/host"
include "delta/core"
include "./shared"
group "tools"
include "tools/sedit"
group "vendor"
include "vendor/3rdparty.lua"
-- Cleanup
if _ACTION == "clean" then
os.rmdir("../bin");
os.rmdir("../build");
end