blob: 2d42b1268180c5f5596346b91a9e4402d7bd0935 [file] [log] [blame]
Steve Dower68d663c2017-07-17 11:15:48 +02001<?xml version="1.0" encoding="utf-8"?>
2<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3 <ItemGroup Label="ProjectConfigurations">
4 <ProjectConfiguration Include="Debug|Win32">
5 <Configuration>Debug</Configuration>
6 <Platform>Win32</Platform>
7 </ProjectConfiguration>
8 <ProjectConfiguration Include="Release|Win32">
9 <Configuration>Release</Configuration>
10 <Platform>Win32</Platform>
11 </ProjectConfiguration>
12 <ProjectConfiguration Include="PGInstrument|Win32">
13 <Configuration>PGInstrument</Configuration>
14 <Platform>Win32</Platform>
15 </ProjectConfiguration>
16 <ProjectConfiguration Include="PGInstrument|x64">
17 <Configuration>PGInstrument</Configuration>
18 <Platform>x64</Platform>
19 </ProjectConfiguration>
20 <ProjectConfiguration Include="PGUpdate|Win32">
21 <Configuration>PGUpdate</Configuration>
22 <Platform>Win32</Platform>
23 </ProjectConfiguration>
24 <ProjectConfiguration Include="PGUpdate|x64">
25 <Configuration>PGUpdate</Configuration>
26 <Platform>x64</Platform>
27 </ProjectConfiguration>
28 <ProjectConfiguration Include="Debug|x64">
29 <Configuration>Debug</Configuration>
30 <Platform>x64</Platform>
31 </ProjectConfiguration>
32 <ProjectConfiguration Include="Release|x64">
33 <Configuration>Release</Configuration>
34 <Platform>x64</Platform>
35 </ProjectConfiguration>
36 </ItemGroup>
37 <PropertyGroup Label="Globals">
38 <ProjectGuid>{B5FD6F1D-129E-4BFF-9340-03606FAC7283}</ProjectGuid>
39 </PropertyGroup>
40
41 <Import Project="python.props" />
42 <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
43
44 <PropertyGroup Label="Configuration">
45 <ConfigurationType>Makefile</ConfigurationType>
46 <Bitness>32</Bitness>
47 <Bitness Condition="$(Platform) == 'x64'">64</Bitness>
48 <ArchName>x86</ArchName>
49 <ArchName Condition="$(Platform) == 'x64'">amd64</ArchName>
50 <SupportSigning>true</SupportSigning>
51 </PropertyGroup>
52
53 <ItemGroup>
54 <PrepareSSL Include="prepare_ssl.py" />
55 <Perl Include="$(Perl)" />
56 </ItemGroup>
57
58 <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
59 <Import Project="pyproject.props" />
60
61 <PropertyGroup>
62 <IntDir>$(opensslDir)\tmp$(Bitness)dll</IntDir>
63 <OutDir>$(opensslDir)\out$(Bitness)dll</OutDir>
64 <MakeFile>ms\ntdll$(Bitness).mak</MakeFile>
65 <NMakeOptions>LIB_D="$(opensslOutDir.TrimEnd(`\`))" OUT_D=out$(Bitness)dll TMP_D=tmp$(Bitness)dll INC_D=inc$(Bitness) INCO_D=inc$(Bitness)\openssl</NMakeOptions>
66 <NMakeBuildCommandLine>setlocal
67set PATH=%PATH%;$(nasmDir);@(Perl->'%(RootDir)%(Directory)',';')
68set VCINSTALLDIR=$(VCInstallDir)
69cd /D "$(opensslDir.TrimEnd(`\`))"
70if not exist "$(IntDir.TrimEnd('\'))" mkdir "$(IntDir.TrimEnd('\'))"
71if not exist "$(OutDir.TrimEnd('\'))" mkdir "$(OutDir.TrimEnd('\'))"
72if not exist "$(opensslOutDir.TrimEnd(`\`))" mkdir "$(opensslOutDir.TrimEnd(`\`))"
73$(PYTHON) "@(PrepareSSL->'%(FullPath)')" "$(opensslDir.TrimEnd(`\`))" $(ArchName)
74nmake -f $(MakeFile) $(NMakeOptions) headers lib
75copy /y LICENSE "$(opensslOutDir)\LICENSE"
76</NMakeBuildCommandLine>
77 </PropertyGroup>
78
79 <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
80
81 <Target Name="SuppressOriginalBuildinfH" Condition="Exists('$(opensslDir)crypto\buildinf.h')" BeforeTargets="CreateBuildinfH">
82 <Move SourceFiles="$(opensslDir)crypto\buildinf.h" DestinationFiles="$(opensslDir)crypto\buildinf.h.orig" />
83 </Target>
84
85 <Target Name="_CopyIncludes" AfterTargets="Build">
86 <ItemGroup>
87 <Sources Include="$(opensslDir)inc$(Bitness)\**\*.h" />
88 <Sources Include="$(opensslDir)ms\applink.c" />
89 </ItemGroup>
90 <Copy SourceFiles="%(Sources.FullPath)" DestinationFiles="$(opensslOutDir)\include\%(Sources.RecursiveDir)\%(Sources.Filename)%(Sources.Extension)" />
91 </Target>
92
93 <Target Name="SignFiles" AfterTargets="Build" Condition="$(_SignCommand) != ''">
94 <ItemGroup>
95 <FilesToSign Include="$(opensslOutDir)\libeay32.dll;$(opensslOutDir)\ssleay32.dll" />
96 </ItemGroup>
97 <Exec Command="$(_SignCommand) %(FilesToSign.FullPath)" ContinueOnError="true" />
98 </Target>
99
100 <Target Name="Clean" />
101 <Target Name="CleanAll">
102 <Delete Files="$(TargetPath);$(BuildPath)$(tclDLLName)" />
103 <RemoveDir Directories="$(IntDir)" />
104 </Target>
105
106 <Target Name="LocateNMake">
107 <PropertyGroup>
108 <OutputFilename Condition="$(OutputFilename) == ''">$(Temp)\nmake.loc</OutputFilename>
109 </PropertyGroup>
110 <ItemGroup>
111 <_NMakeExe Include="$(VC_ExecutablePath_x86_x86)\nmake.exe" Condition="$(VC_ExecutablePath_x86_x86) != ''" />
112 </ItemGroup>
113 <MakeDir Directories="$([System.IO.Path]::GetDirectoryName($(OutputFilename)))" />
114 <WriteLinesToFile File="$(OutputFilename)" Lines="@(_NMakeExe)" />
115 </Target>
116
117 <Target Name="ResolveAssemblyReferences" />
118</Project>