-
Notifications
You must be signed in to change notification settings - Fork 0
/
deploy.lua
114 lines (92 loc) · 3.06 KB
/
deploy.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
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
-- lua/lua.lua
premake.modules.deploy = {}
local m = premake.modules.deploy
local p = premake
newaction {
trigger = "deploy",
description = "Deploy Ivy sdk",
onStart = function()
print("Starting Ivy deploy")
end,
onWorkspace = function(wks)
--printf("Generating Lua for workspace '%s'", wks.basedir)
local wksDir = wks.basedir:gsub("/", "\\")
local ivyDir = wks.projects["Ivy"].location:gsub("/", "\\")
local ivyTargetDir = wks.projects["Ivy"].configs["Release"].targetdir:gsub("/", "\\") .. "\\" .. wks.projects["Ivy"].name .. ".lib"
local sandboxDir = wks.projects["Sandbox"].location:gsub("/", "\\")
local sandboxTargetDir = wks.projects["Sandbox"].configs["Release"].targetdir:gsub("/", "\\")
print(sandboxDir)
print(sandboxTargetDir)
local cpyExample = "xcopy \"" .. sandboxDir .. "\\*\" \"" .. wksDir .. "\\sdk\\example\\ \" /y /e /i /f"
local cpyExampleExe = "xcopy \"" .. sandboxTargetDir .. "\\*.exe\" \"" .. wksDir .. "\\sdk\\example\\ \" /y /e /i /f"
local cpyExampleDll = "xcopy \"" .. sandboxTargetDir .. "\\*.dll\" \"" .. wksDir .. "\\sdk\\example\\ \" /y /e /i /f"
os.execute(cpyExample)
os.execute(cpyExampleExe)
os.execute(cpyExampleDll)
local cpyInclude = "xcopy \"" .. ivyDir .. "\\source\\*.h\" \"" .. wksDir .. "\\sdk\\include\\ \" /y /e /i /f"
local cpyIvyLib = "xcopy \"" .. ivyTargetDir .."\" \"" .. wksDir .. "\\sdk\\lib\\ \" /y /e /i /f"
local cpyDeps = "xcopy \"" .. ivyDir .. "\\dependencies\\*.h\" \"" .. wksDir .. "\\sdk\\dependencies\\ \" /y /e /i /f"
local cpyDepsHpp = "xcopy \"" .. ivyDir .. "\\dependencies\\*.hpp\" \"" .. wksDir .. "\\sdk\\dependencies\\ \" /y /e /i /f"
local cpyDepLibs = "for /r \"" .. ivyDir .. "\\dependencies\" %f in (*.lib) do @copy \"%f\" \"" .. wksDir .. "\\sdk\\lib\""
local cpyDepDll = "for /r \"" .. ivyDir .. "\\dependencies\" %f in (*.dll) do @copy \"%f\" \"" .. wksDir .. "\\sdk\\bin\""
os.execute(cpyInclude)
os.execute(cpyIvyLib)
os.execute(cpyDeps)
os.execute(cpyDepsHpp)
os.execute(cpyDepLibs)
os.execute(cpyDepDll)
os.execute("ROBOCOPY sdk sdk /S /MOVE") -- deletes empty folders
--printf( wks.projects["Ivy"].configs["Release"].linktarget)
--for k,v in pairs(wks.projects["Ivy"].configs["Release"].files) do
-- printf(k)
--end
end,
onProject = function(prj)
end,
execute = function()
print("Executing Lua action")
end,
onEnd = function()
print("Deploy complete. Generated all files in sdk/")
end
}
return m
-- key: global
-- key: configmap
-- key: platforms
-- key: terms
-- key: tags
-- key: class
-- key: kind
-- key: location
-- key: solution
-- key: project
-- key: blocks
-- key: script
-- key: _cfgset
-- key: xcodesystemcapabilities
-- key: compiled
-- key: _
-- key: environ
-- key: external
-- key: basedir
-- key: architecture
-- key: uuid
-- key: rules
-- key: _basedir
-- key: workspace
-- key: language
-- key: system
-- key: parent
-- key: filename
-- key: configurations
-- key: current
-- key: nugetsource
-- key: buildcustomizations
-- key: nuget
-- key: _isBaked
-- key: name
-- key: configs
-- key: vpaths
-- key: _cfglist
-- key: group