forked from Chuyu-Team/VC-LTL
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathBuild.proj
More file actions
67 lines (51 loc) · 3.87 KB
/
Copy pathBuild.proj
File metadata and controls
67 lines (51 loc) · 3.87 KB
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
<?xml version="1.0" encoding="utf-8"?>
<!--
用于编译VC-LTL
"C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Current\Bin\MSBuild.exe" -t:Build -m "I:\Visual Studio 2015\VC-LTL\src\Build.proj"
-->
<Project InitialTargets="ValidateSolutionConfiguration" DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<SolutionDir>$(MSBuildThisFileDirectory)</SolutionDir>
<SolutionExt>.sln</SolutionExt>
<SolutionFileName>VC-LTL.sln</SolutionFileName>
<SolutionName>VC-LTL</SolutionName>
<SolutionPath>$(SolutionDir)$(SolutionFileName)</SolutionPath>
</PropertyGroup>
<Import Project="$(MSBuildThisFileDirectory)\ucrt\Build.proj"/>
<Import Project="$(MSBuildThisFileDirectory)\14.*.*\Build\Build.proj"/>
<Target Name="ValidateSolutionConfiguration">
<Message Text="正在生成解决方案配置“$(Configuration)|$(Platform)”。" />
</Target>
<Target Name="Build">
<!--先编译静态库-->
<MSBuild Projects="@(StaticLib)" BuildInParallel="True" Properties="PreferredToolArchitecture=x64;BuildingSolutionFile=true;SolutionDir=$(SolutionDir); SolutionExt=$(SolutionExt); SolutionFileName=$(SolutionFileName); SolutionName=$(SolutionName); SolutionPath=$(SolutionPath)"/>
<!--在编译UCRT运行时,以及msvcrt、msvcmrt-->
<MSBuild Projects="@(SecondLib)" BuildInParallel="True" Properties="PreferredToolArchitecture=x64;BuildingSolutionFile=true;SolutionDir=$(SolutionDir); SolutionExt=$(SolutionExt); SolutionFileName=$(SolutionFileName); SolutionName=$(SolutionName); SolutionPath=$(SolutionPath)"/>
<!--然后编译vcruntime.lib,因为下面msvcprt.dll需要用到-->
<MSBuild Projects="@(VcruntimeRedist)" BuildInParallel="True" Properties="PreferredToolArchitecture=x64;BuildingSolutionFile=true;SolutionDir=$(SolutionDir); SolutionExt=$(SolutionExt); SolutionFileName=$(SolutionFileName); SolutionName=$(SolutionName); SolutionPath=$(SolutionPath)"/>
<!--接着编译msvcprt.dll-->
<MSBuild Projects="@(StlRedist)" BuildInParallel="True" Properties="PreferredToolArchitecture=x64;BuildingSolutionFile=true;SolutionDir=$(SolutionDir); SolutionExt=$(SolutionExt); SolutionFileName=$(SolutionFileName); SolutionName=$(SolutionName); SolutionPath=$(SolutionPath)"/>
<!--打包msvcprt.lib-->
<MSBuild Projects="@(StlDynamic)" BuildInParallel="True" Properties="PreferredToolArchitecture=x64;BuildingSolutionFile=true;SolutionDir=$(SolutionDir); SolutionExt=$(SolutionExt); SolutionFileName=$(SolutionFileName); SolutionName=$(SolutionName); SolutionPath=$(SolutionPath)"/>
<!--最后利用其他编译的文件编译concrt.lib-->
<MSBuild Projects="@(ConcrtRedist)" BuildInParallel="True" Properties="PreferredToolArchitecture=x64;BuildingSolutionFile=true;SolutionDir=$(SolutionDir); SolutionExt=$(SolutionExt); SolutionFileName=$(SolutionFileName); SolutionName=$(SolutionName); SolutionPath=$(SolutionPath)"/>
</Target>
<Target Name="CopySpectreFiles" AfterTargets="Build">
<Copy
SourceFiles="%(SpectreCopyItem.Identity)\ARM\Vista\concrt.lib;%(SpectreCopyItem.Identity)\ARM\Vista\vcruntime.lib"
DestinationFolder="%(SpectreCopyItem.Identity)\Spectre\ARM\Vista"
/>
<Copy
SourceFiles="%(SpectreCopyItem.Identity)\arm64\Vista\concrt.lib;%(SpectreCopyItem.Identity)\arm64\Vista\vcruntime.lib"
DestinationFolder="%(SpectreCopyItem.Identity)\Spectre\arm64\Vista"
/>
<Copy
SourceFiles="%(SpectreCopyItem.Identity)\x64\Vista\concrt.lib;%(SpectreCopyItem.Identity)\x64\Vista\vcruntime.lib"
DestinationFolder="%(SpectreCopyItem.Identity)\Spectre\x64\Vista"
/>
<Copy
SourceFiles="%(SpectreCopyItem.Identity)\x86\Vista\concrt.lib;%(SpectreCopyItem.Identity)\x86\Vista\vcruntime.lib"
DestinationFolder="%(SpectreCopyItem.Identity)\Spectre\x86\Vista"
/>
</Target>
</Project>