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
|
(:
* This script will generate the configuration for the following 3 platforms:
* Smartphone 2003 (ARMV4)
* Windows Mobile 6 Professional SDK (ARMV4I)
* Windows Mobile 6.5.3 Professional DTK (ARMV4I)
:)
declare function local:getCopyNodes1($node)
{
copy $node1 := $node
modify replace value of node $node1/@Name with "Debug|Smartphone 2003 (ARMV4)"
return $node1
};
declare function local:getCopyNodes2($node)
{
copy $node2 := $node
modify replace value of node $node2/@Name with "Release|Smartphone 2003 (ARMV4)"
return $node2
};
declare function local:getCopyNodes3($node)
{
copy $node3 := $node
modify (
replace value of node $node3/@Name with "Debug|Windows Mobile 6 Professional SDK (ARMV4I)" ,
replace value of node $node3/Tool[@Name="VCLinkerTool"]/@AdditionalOptions with '/subsystem:windowsce,5.02' ,
delete node $node3/Tool[@Name='VCLinkerTool']/@AdditionalDependencies
)
return $node3
};
declare function local:getCopyNodes4($node)
{
copy $node4 := $node
modify (
replace value of node $node4/@Name with "Release|Windows Mobile 6 Professional SDK (ARMV4I)" ,
replace value of node $node4/Tool[@Name="VCLinkerTool"]/@AdditionalOptions with '/subsystem:windowsce,5.02' ,
delete node $node4/Tool[@Name='VCLinkerTool']/@AdditionalDependencies
)
return $node4
};
declare function local:getCopyNodes5($node)
{
copy $node5 := $node
modify (
replace value of node $node5/@Name with "Debug|Windows Mobile 6.5.3 Professional DTK (ARMV4I)" ,
replace value of node $node5/Tool[@Name="VCLinkerTool"]/@AdditionalOptions with '/subsystem:windowsce,5.02' ,
delete node $node5/Tool[@Name='VCLinkerTool']/@AdditionalDependencies
)
return $node5
};
declare function local:getCopyNodes6($node)
{
copy $node6 := $node
modify (
replace value of node $node6/@Name with "Release|Windows Mobile 6.5.3 Professional DTK (ARMV4I)" ,
replace value of node $node6/Tool[@Name="VCLinkerTool"]/@AdditionalOptions with '/subsystem:windowsce,5.02' ,
delete node $node6/Tool[@Name='VCLinkerTool']/@AdditionalDependencies
)
return $node6
};
let $root := VisualStudioProject
return
(
(: Add the new platforms into "FileConfiguration" and "Platforms" :)
(
for $platforms in ("Smartphone 2003 (ARMV4)", "Windows Mobile 6 Professional SDK (ARMV4I)",
"Windows Mobile 6.5.3 Professional DTK (ARMV4I)")
return
(
insert node <Platform Name="{$platforms}" /> as last into $root/Platforms,
for $n in $root/Files/Filter[@Name="Source Files"]/File/FileConfiguration[1]
for $conf in ("Debug", "Release")
return insert node <FileConfiguration ExcludedFromBuild="true" Name="{$conf}|{$platforms}">
<Tool Name="VCCLCompilerTool" /></FileConfiguration> as last into $n/parent::*
)
),
(:
* Add the new platforms into "Configurations".
* We copy settings from "Debug|Pocket PC 2003(ARMV4)" and then
* do necessary changes.
:)
(
let $node1 := local:getCopyNodes1($root/Configurations/Configuration[1])
let $node2 := local:getCopyNodes2($root/Configurations/Configuration[1])
let $node3 := local:getCopyNodes3($root/Configurations/Configuration[1])
let $node4 := local:getCopyNodes4($root/Configurations/Configuration[1])
let $node5 := local:getCopyNodes5($root/Configurations/Configuration[1])
let $node6 := local:getCopyNodes6($root/Configurations/Configuration[1])
for $node in ($node1, $node2, $node3, $node4, $node5, $node6)
return insert node $node as last into $root/Configurations
)
)
|