blob: 4a62e6399d2a0d35744b9bdb06cd9089848a7362 (
plain)
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
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
|
--
-- tests/actions/vstudio/cs2002/test_files.lua
-- Validate generation of <Files/> block in Visual Studio 2002 .csproj
-- Copyright (c) 2009-2012 Jason Perkins and the Premake project
--
T.vstudio_cs2002_files = { }
local suite = T.vstudio_cs2002_files
local cs2002 = premake.vstudio.cs2002
--
-- Setup
--
local sln, prj
function suite.setup()
sln = test.createsolution()
end
local function prepare()
premake.bake.buildconfigs()
prj = premake.solution.getproject(sln, 1)
sln.vstudio_configs = premake.vstudio.buildconfigs(sln)
cs2002.Files(prj)
end
--
-- Test grouping and nesting
--
function suite.SimpleSourceFile()
files { "Hello.cs" }
prepare()
test.capture [[
<File
RelPath = "Hello.cs"
BuildAction = "Compile"
SubType = "Code"
/>
]]
end
function suite.NestedSourceFile()
files { "Src/Hello.cs" }
prepare()
test.capture [[
<File
RelPath = "Src\Hello.cs"
BuildAction = "Compile"
SubType = "Code"
/>
]]
end
--
-- The relative path to the file is correct for files that live outside
-- the project's folder.
--
function suite.filesUseRelativePath_onOutOfTreePath()
files { "../Src/Hello.cs" }
prepare()
test.capture [[
<File
RelPath = "..\Src\Hello.cs"
BuildAction = "Compile"
SubType = "Code"
/>
]]
end
--
-- Test file dependencies
--
function suite.SimpleResourceDependency()
files { "Resources.resx", "Resources.cs" }
prepare()
test.capture [[
<File
RelPath = "Resources.cs"
BuildAction = "Compile"
SubType = "Code"
/>
<File
RelPath = "Resources.resx"
BuildAction = "EmbeddedResource"
DependentUpon = "Resources.cs"
/>
]]
end
--
-- Test build actions
--
function suite.BuildAction_Compile()
files { "Hello.png" }
configuration "*.png"
buildaction "Compile"
prepare()
test.capture [[
<File
RelPath = "Hello.png"
BuildAction = "Compile"
/>
]]
end
function suite.BuildAction_Copy()
files { "Hello.png" }
configuration "*.png"
buildaction "Copy"
prepare()
test.capture [[
<File
RelPath = "Hello.png"
BuildAction = "Content"
/>
]]
end
function suite.BuildAction_Embed()
files { "Hello.png" }
configuration "*.png"
buildaction "Embed"
prepare()
test.capture [[
<File
RelPath = "Hello.png"
BuildAction = "EmbeddedResource"
/>
]]
end
|