1 <?xml version="1.0" encoding="utf-8"?>
\r
2 <Project InitialTargets="PreBuild" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
\r
4 <!-- normalize configuration case -->
\r
5 <PropertyGroup Condition="'$(CONFIGURATION)'=='Release'">
\r
6 <CONFIG>Release</CONFIG>
\r
7 <DebugSuffix></DebugSuffix>
\r
8 <DebugSuffixDefinition>-DDEBUG_SUFFIX=_debug</DebugSuffixDefinition>
\r
10 <PropertyGroup Condition="'$(CONFIGURATION)'=='Debug'">
\r
11 <CONFIG>Debug</CONFIG>
\r
12 <DebugSuffix>_debug</DebugSuffix>
\r
13 <DebugSuffixDefinition>-DDEBUG_SUFFIX=_debug</DebugSuffixDefinition>
\r
16 <!-- Wrapper to build WebKit for both win32 and x64. -->
\r
18 <OFFICIAL_BUILD>1</OFFICIAL_BUILD>
\r
19 <WebKit_Libraries>$(SRCROOT)\AppleInternal</WebKit_Libraries>
\r
20 <AppleInternal>$(DSTROOT)\AppleInternal</AppleInternal>
\r
21 <AppleInternalLib32>$(AppleInternal)\lib32</AppleInternalLib32>
\r
22 <AppleInternalLib64>$(AppleInternal)\lib64</AppleInternalLib64>
\r
23 <AppleInternalBin32>$(AppleInternal)\bin32</AppleInternalBin32>
\r
24 <AppleInternalBin64>$(AppleInternal)\bin64</AppleInternalBin64>
\r
25 <AppleInternal32Symbols>$(AppleInternal)\public32\sym</AppleInternal32Symbols>
\r
26 <AppleInternal64Symbols>$(AppleInternal)\public64\sym</AppleInternal64Symbols>
\r
27 <ProgramFilesAAS32>Program Files (x86)\Common Files\Apple\Apple Application Support</ProgramFilesAAS32>
\r
28 <ProgramFilesAAS64>Program Files\Common Files\Apple\Apple Application Support</ProgramFilesAAS64>
\r
29 <ConfigurationBuildDir>$(OBJROOT)\$(CONFIG)</ConfigurationBuildDir>
\r
30 <OutputDirectory>$(DSTROOT)</OutputDirectory>
\r
31 <CMakeCommandCommon>cmake $(SRCROOT)/WebKit -DPORT=AppleWin $(DebugSuffixDefinition) -DWEBKIT_LIBRARIES_DIR=$(WebKit_Libraries.Replace('\','/')) -DCMAKE_MODULE_PATH=$(SRCROOT.Replace('\','/'))/AppleInternal/tools/cmake -DCMAKE_BINARY_DIR=$(OBJROOT.Replace('\','/'))/$(CONFIG) -DWEBKIT_DIR=$(SRCROOT.Replace('\','/'))/WebKit</CMakeCommandCommon>
\r
34 <!-- Prepare for build -->
\r
35 <Target Name="PreBuild" BeforeTargets="Build">
\r
36 <Error Text="DSTROOT property or environment variable must be defined." Condition="'$(DSTROOT)' == ''" />
\r
37 <Error Text="OBJROOT property or environment variable must be defined." Condition="'$(OBJROOT)' == ''" />
\r
38 <Error Text="Use /p:Configuration=Debug or /p:Configuration=Release" Condition="'$(CONFIG)' == ''" />
\r
39 <Message Text="Copying necessary headers to $(ConfigurationBuildDir)" />
\r
40 <MakeDir Directories="$(DSTROOT);$(OBJROOT);$(OBJROOT)/$(CONFIG);$(ConfigurationBuildDir)\include\private;$(OBJROOT)/$(CONFIG)/build32;$(OBJROOT)/$(CONFIG)/build64" />
\r
42 <CreateItem Include="$(WebKit_Libraries)\include\private\**\*.*">
\r
43 <Output TaskParameter="Include" ItemName="PrivateIncFiles" />
\r
46 <Copy SourceFiles="@(PrivateIncFiles)" DestinationFiles="@(PrivateIncFiles->'$(ConfigurationBuildDir)\include\private\%(RecursiveDir)%(Filename)%(Extension)')" />
\r
47 <Message Text="Build output -> $(OBJROOT)" />
\r
48 <Message Text="Final output -> $(DSTROOT)" />
\r
49 <MakeDir Directories="$(AppleInternalLib32);$(AppleInternalLib64);$(AppleInternalBin32);$(AppleInternalBin64);$(AppleInternal32Symbols);$(AppleInternal64Symbols);$(AppleInternal)\include;$(DSTROOT)\$(ProgramFilesAAS32);$(DSTROOT)\$(ProgramFilesAAS64)" />
\r
50 <MakeDir Directories="$(DSTROOT)\$(ProgramFilesAAS32)\WebKit.resources;$(DSTROOT)\$(ProgramFilesAAS64)\WebKit.resources" />
\r
53 <!-- Build WebKit Software -->
\r
54 <Target Name="Build" AfterTargets="PreBuild">
\r
55 <Message Text="Building $(CONFIGURATION) Solution" />
\r
56 <Error Text="DSTROOT property or environment variable must be defined." Condition="'$(DSTROOT)' == ''" />
\r
57 <Exec Command="$(CMakeCommandCommon) -G "Visual Studio 14 2015"" WorkingDirectory="$(OBJROOT)/$(CONFIG)/build32"/>
\r
58 <Exec Command="msbuild Project.sln" WorkingDirectory="$(OBJROOT)/$(CONFIG)/build32"/>
\r
59 <Exec Command="$(CMakeCommandCommon) -G "Visual Studio 14 2015 Win64"" WorkingDirectory="$(OBJROOT)/$(CONFIG)/build64"/>
\r
60 <Exec Command="msbuild Project.sln" WorkingDirectory="$(OBJROOT)/$(CONFIG)/build64"/>
\r
63 <Target Name="PostBuild" AfterTargets="Build">
\r
64 <Error Text="DSTROOT property or environment variable must be defined." Condition="'$(DSTROOT)' == ''" />
\r
65 <Message Text="Moving $(CONFIG) build results to $(DSTROOT)" />
\r
67 <!-- Identify the files to copy over -->
\r
68 <CreateItem Include="$(ConfigurationBuildDir)\build32\DerivedSources\ForwardingHeaders\WebKit\**\*.*">
\r
69 <Output TaskParameter="Include" ItemName="IncFiles" />
\r
71 <CreateItem Include="$(ConfigurationBuildDir)\build32\bin32\*">
\r
72 <Output TaskParameter="Include" ItemName="Bin32Files" />
\r
74 <CreateItem Include="$(ConfigurationBuildDir)\build64\bin64\*">
\r
75 <Output TaskParameter="Include" ItemName="Bin64Files" />
\r
77 <CreateItem Include="$(ConfigurationBuildDir)\build32\bin32\WebKit$(DebugSuffix).dll">
\r
78 <Output TaskParameter="Include" ItemName="Bin32DLLFiles" />
\r
80 <CreateItem Include="$(ConfigurationBuildDir)\build64\bin64\WebKit$(DebugSuffix).dll">
\r
81 <Output TaskParameter="Include" ItemName="Bin64DLLFiles" />
\r
83 <CreateItem Include="$(ConfigurationBuildDir)\build64\bin32\*.resources">
\r
84 <Output TaskParameter="Include" ItemName="Bin32ResourceFolders" />
\r
86 <CreateItem Include="$(ConfigurationBuildDir)\build64\bin64\*.resources">
\r
87 <Output TaskParameter="Include" ItemName="Bin64ResourceFolders" />
\r
89 <CreateItem Include="$(ConfigurationBuildDir)\build32\bin32\*.pdb">
\r
90 <Output TaskParameter="Include" ItemName="Bin32SymbolFiles" />
\r
92 <CreateItem Include="$(ConfigurationBuildDir)\build64\bin64\*.pdb">
\r
93 <Output TaskParameter="Include" ItemName="Bin64SymbolFiles" />
\r
95 <CreateItem Include="$(ConfigurationBuildDir)\build32\bin32\WebKit.resources\**\*.*">
\r
96 <Output TaskParameter="Include" ItemName="Bin32Resources" />
\r
98 <CreateItem Include="$(ConfigurationBuildDir)\build64\bin64\WebKit.resources\**\*.*">
\r
99 <Output TaskParameter="Include" ItemName="Bin64Resources" />
\r
101 <CreateItem Include="$(ConfigurationBuildDir)\build32\lib32\*">
\r
102 <Output TaskParameter="Include" ItemName="Lib32Files" />
\r
104 <CreateItem Include="$(ConfigurationBuildDir)\build64\lib64\*">
\r
105 <Output TaskParameter="Include" ItemName="Lib64Files" />
\r
107 <CreateItem Include="$(ConfigurationBuildDir)\build64\obj32\WebKit\DerivedSources\**\*.*">
\r
108 <Output TaskParameter="Include" ItemName="Derived32Sources" />
\r
110 <CreateItem Include="$(ConfigurationBuildDir)\build32\obj64\WebKit\DerivedSources\**\*.*">
\r
111 <Output TaskParameter="Include" ItemName="Derived64Sources" />
\r
114 <Copy SourceFiles="@(IncFiles)" DestinationFiles="@(IncFiles->'$(DSTROOT)\AppleInternal\include\WebKit\%(RecursiveDir)%(Filename)%(Extension)')" />
\r
115 <Copy SourceFiles="@(Lib32Files)" DestinationFolder="$(AppleInternalLib32)" />
\r
116 <Copy SourceFiles="@(Lib64Files)" DestinationFolder="$(AppleInternalLib64)" />
\r
117 <Copy SourceFiles="@(Bin32Files)" DestinationFolder="$(AppleInternalBin32)" />
\r
118 <Copy SourceFiles="@(Bin32DLLFiles)" DestinationFolder="$(DSTROOT)\$(ProgramFilesAAS32)" />
\r
119 <Copy SourceFiles="@(Bin32ResourceFolders)" DestinationFolder="$(DSTROOT)\$(ProgramFilesAAS32)" />
\r
120 <Copy SourceFiles="@(Bin32SymbolFiles)" DestinationFolder="$(AppleInternal32Symbols)" />
\r
121 <Copy SourceFiles="@(Bin32Resources)" DestinationFiles="@(Bin32Resources->'$(DSTROOT)\$(ProgramFilesAAS32)\WebKit.resources\%(RecursiveDir)%(Filename)%(Extension)')" />
\r
122 <Copy SourceFiles="@(Bin64Files)" DestinationFolder="$(AppleInternalBin64)" />
\r
123 <Copy SourceFiles="@(Bin64DLLFiles)" DestinationFolder="$(DSTROOT)\$(ProgramFilesAAS64)" />
\r
124 <Copy SourceFiles="@(Bin64ResourceFolders)" DestinationFolder="$(DSTROOT)\$(ProgramFilesAAS64)" />
\r
125 <Copy SourceFiles="@(Bin64SymbolFiles)" DestinationFolder="$(AppleInternal64Symbols)" />
\r
126 <Copy SourceFiles="@(Bin64Resources)" DestinationFiles="@(Bin64Resources->'$(DSTROOT)\$(ProgramFilesAAS64)\WebKit.resources\%(RecursiveDir)%(Filename)%(Extension)')" />
\r