-
Notifications
You must be signed in to change notification settings - Fork 0
/
premake5.lua
79 lines (71 loc) · 2.71 KB
/
premake5.lua
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
workspace "SWINEClassicHD"
configurations { "Release", "Debug" }
platforms { "Win32" }
architecture "x32"
location "build"
objdir ("build/obj")
buildlog ("build/log/%{prj.name}.log")
buildoptions {"-std:c++latest"}
kind "SharedLib"
language "C++"
targetdir "data/%{prj.name}/scripts"
targetextension ".asi"
characterset ("UNICODE")
staticruntime "On"
defines { "rsc_CompanyName=\"hdbeefup\"" }
defines { "rsc_LegalCopyright=\"hdbeefup\""}
defines { "rsc_FileVersion=\"1.0.0.0\"", "rsc_ProductVersion=\"1.0.0.0\"" }
defines { "rsc_InternalName=\"%{prj.name}\"", "rsc_ProductName=\"%{prj.name}\"", "rsc_OriginalFilename=\"%{prj.name}.asi\"" }
defines { "rsc_FileDescription=\"https://github.com/hdbeefup\"" }
defines { "rsc_UpdateUrl=\"https://github.com/hdbeefup\"" }
files { "source/%{prj.name}/*.cpp" }
files { "Resources/*.rc" }
files { "external/hooking/Hooking.Patterns.h", "external/hooking/Hooking.Patterns.cpp" }
files { "includes/stdafx.h", "includes/stdafx.cpp" }
includedirs { "includes" }
includedirs { "external/hooking" }
includedirs { "external/injector/include" }
includedirs { "external/inireader" }
includedirs { "external/spdlog/include" }
includedirs { "external/filewatch" }
local dxsdk = os.getenv "DXSDK_DIR"
if dxsdk then
includedirs { dxsdk .. "/include" }
libdirs { dxsdk .. "/lib/x86" }
else
includedirs { "C:/Program Files (x86)/Microsoft DirectX SDK (June 2010)/include" }
libdirs { "C:/Program Files (x86)/Microsoft DirectX SDK (June 2010)/lib/x86" }
end
pbcommands = {
"setlocal EnableDelayedExpansion",
--"set \"path=" .. (gamepath) .. "\"",
"set file=$(TargetPath)",
"FOR %%i IN (\"%file%\") DO (",
"set filename=%%~ni",
"set fileextension=%%~xi",
"set target=!path!!filename!!fileextension!",
"if exist \"!target!\" copy /y \"!file!\" \"!target!\"",
")" }
function setpaths (gamepath, exepath, scriptspath)
scriptspath = scriptspath or "scripts/"
if (gamepath) then
cmdcopy = { "set \"path=" .. gamepath .. scriptspath .. "\"" }
table.insert(cmdcopy, pbcommands)
postbuildcommands (cmdcopy)
debugdir (gamepath)
if (exepath) then
debugcommand (gamepath .. exepath)
dir, file = exepath:match'(.*/)(.*)'
debugdir (gamepath .. (dir or ""))
end
end
targetdir ("data/%{prj.name}/" .. scriptspath)
end
filter "configurations:Debug*"
defines "DEBUG"
symbols "On"
filter "configurations:Release*"
defines "NDEBUG"
optimize "On"
project "SWINE.nutmaster"
setpaths("Z:/Games/S.W.I.N.E/scripts", "swine.exe")