-
Notifications
You must be signed in to change notification settings - Fork 5
/
premake5.lua
71 lines (62 loc) · 2.29 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
workspace "ToyStory2Fix"
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/scripts"
targetextension ".asi"
characterset ("MBCS")
flags { "StaticRuntime" }
defines { "rsc_CompanyName=\"RibShark\"" }
defines { "rsc_LegalCopyright=\"MIT License\""}
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=\"\"" }
defines { "rsc_UpdateUrl=\"https://github.com/RibShark/ToyStory2Fix\"" }
files { "source/*.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" }
links { "winmm" }
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/" .. scriptspath)
end
filter "configurations:Debug"
defines "DEBUG"
symbols "On"
filter "configurations:Release"
defines "NDEBUG"
optimize "On"
project "ToyStory2Fix"
setpaths("D:/Games/Toy Story 2/", "toy2.exe")