From 099580022d4466d8d5e7c0951b9427bb911c324e Mon Sep 17 00:00:00 2001
From: Shane Bryldt <astaelan@gmail.com>
Date: Mon, 2 Oct 2017 13:09:51 -0600
Subject: [PATCH] FS-10690: [libblade] Added basedir.props from existing
 pending PR from Andrey Volk to support PCRE build requirements for blade on
 windows, currently only used by newly added PCRE props which are not yet used
 by FS projects

---
 libs/libblade/libblade.vcxproj                |  4 ++++
 libs/libblade/switchblade/switchblade.vcxproj |  4 ++++
 libs/libblade/test/bladec.vcxproj             |  4 ++++
 libs/libblade/test/blades.vcxproj             |  4 ++++
 libs/libblade/test/testcli.vcxproj            |  4 ++++
 libs/libblade/test/testcon.vcxproj            |  4 ++++
 w32/basedir.props                             |  6 ++++++
 w32/pcre-version.props                        | 19 +++++++++++++++++++
 w32/pcre.props                                | 18 ++++++++++++++++++
 9 files changed, 67 insertions(+)
 create mode 100644 w32/basedir.props
 create mode 100644 w32/pcre-version.props
 create mode 100644 w32/pcre.props

diff --git a/libs/libblade/libblade.vcxproj b/libs/libblade/libblade.vcxproj
index 32d80a5df8..9cc352f2e6 100644
--- a/libs/libblade/libblade.vcxproj
+++ b/libs/libblade/libblade.vcxproj
@@ -60,6 +60,7 @@
     <Import Project="..\..\w32\sodium.props" />
     <Import Project="..\..\w32\config.props" />
     <Import Project="..\..\w32\civetweb.props" />
+    <Import Project="..\..\w32\pcre.props" />
   </ImportGroup>
   <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
@@ -68,6 +69,7 @@
     <Import Project="..\..\w32\sodium.props" />
     <Import Project="..\..\w32\config.props" />
     <Import Project="..\..\w32\civetweb.props" />
+    <Import Project="..\..\w32\pcre.props" />
   </ImportGroup>
   <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
@@ -76,6 +78,7 @@
     <Import Project="..\..\w32\sodium.props" />
     <Import Project="..\..\w32\config.props" />
     <Import Project="..\..\w32\civetweb.props" />
+    <Import Project="..\..\w32\pcre.props" />
   </ImportGroup>
   <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
@@ -84,6 +87,7 @@
     <Import Project="..\..\w32\sodium.props" />
     <Import Project="..\..\w32\config.props" />
     <Import Project="..\..\w32\civetweb.props" />
+    <Import Project="..\..\w32\pcre.props" />
   </ImportGroup>
   <PropertyGroup Label="UserMacros" />
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
diff --git a/libs/libblade/switchblade/switchblade.vcxproj b/libs/libblade/switchblade/switchblade.vcxproj
index 2dff4e2714..8d994e6f21 100644
--- a/libs/libblade/switchblade/switchblade.vcxproj
+++ b/libs/libblade/switchblade/switchblade.vcxproj
@@ -62,6 +62,7 @@
     <Import Project="..\..\..\w32\sodium.props" />
     <Import Project="..\..\..\w32\config.props" />
     <Import Project="..\..\..\w32\civetweb.props" />
+    <Import Project="..\..\..\w32\pcre.props" />
   </ImportGroup>
   <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
@@ -69,6 +70,7 @@
     <Import Project="..\..\..\w32\sodium.props" />
     <Import Project="..\..\..\w32\config.props" />
     <Import Project="..\..\..\w32\civetweb.props" />
+    <Import Project="..\..\..\w32\pcre.props" />
   </ImportGroup>
   <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
@@ -76,6 +78,7 @@
     <Import Project="..\..\..\w32\sodium.props" />
     <Import Project="..\..\..\w32\config.props" />
     <Import Project="..\..\..\w32\civetweb.props" />
+    <Import Project="..\..\..\w32\pcre.props" />
   </ImportGroup>
   <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
@@ -83,6 +86,7 @@
     <Import Project="..\..\..\w32\sodium.props" />
     <Import Project="..\..\..\w32\config.props" />
     <Import Project="..\..\..\w32\civetweb.props" />
+    <Import Project="..\..\..\w32\pcre.props" />
   </ImportGroup>
   <PropertyGroup Label="UserMacros" />
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
diff --git a/libs/libblade/test/bladec.vcxproj b/libs/libblade/test/bladec.vcxproj
index 6539eb63b6..715e3641a9 100644
--- a/libs/libblade/test/bladec.vcxproj
+++ b/libs/libblade/test/bladec.vcxproj
@@ -62,6 +62,7 @@
     <Import Project="..\..\..\w32\sodium.props" />
     <Import Project="..\..\..\w32\config.props" />
     <Import Project="..\..\..\w32\civetweb.props" />
+    <Import Project="..\..\..\w32\pcre.props" />
   </ImportGroup>
   <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
@@ -69,6 +70,7 @@
     <Import Project="..\..\..\w32\sodium.props" />
     <Import Project="..\..\..\w32\config.props" />
     <Import Project="..\..\..\w32\civetweb.props" />
+    <Import Project="..\..\..\w32\pcre.props" />
   </ImportGroup>
   <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
@@ -76,6 +78,7 @@
     <Import Project="..\..\..\w32\sodium.props" />
     <Import Project="..\..\..\w32\config.props" />
     <Import Project="..\..\..\w32\civetweb.props" />
+    <Import Project="..\..\..\w32\pcre.props" />
   </ImportGroup>
   <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
@@ -83,6 +86,7 @@
     <Import Project="..\..\..\w32\sodium.props" />
     <Import Project="..\..\..\w32\config.props" />
     <Import Project="..\..\..\w32\civetweb.props" />
+    <Import Project="..\..\..\w32\pcre.props" />
   </ImportGroup>
   <PropertyGroup Label="UserMacros" />
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
diff --git a/libs/libblade/test/blades.vcxproj b/libs/libblade/test/blades.vcxproj
index b82e67e746..a9f48e92da 100644
--- a/libs/libblade/test/blades.vcxproj
+++ b/libs/libblade/test/blades.vcxproj
@@ -62,6 +62,7 @@
     <Import Project="..\..\..\w32\sodium.props" />
     <Import Project="..\..\..\w32\config.props" />
     <Import Project="..\..\..\w32\civetweb.props" />
+    <Import Project="..\..\..\w32\pcre.props" />
   </ImportGroup>
   <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
@@ -69,6 +70,7 @@
     <Import Project="..\..\..\w32\sodium.props" />
     <Import Project="..\..\..\w32\config.props" />
     <Import Project="..\..\..\w32\civetweb.props" />
+    <Import Project="..\..\..\w32\pcre.props" />
   </ImportGroup>
   <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
@@ -76,6 +78,7 @@
     <Import Project="..\..\..\w32\sodium.props" />
     <Import Project="..\..\..\w32\config.props" />
     <Import Project="..\..\..\w32\civetweb.props" />
+    <Import Project="..\..\..\w32\pcre.props" />
   </ImportGroup>
   <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
@@ -83,6 +86,7 @@
     <Import Project="..\..\..\w32\sodium.props" />
     <Import Project="..\..\..\w32\config.props" />
     <Import Project="..\..\..\w32\civetweb.props" />
+    <Import Project="..\..\..\w32\pcre.props" />
   </ImportGroup>
   <PropertyGroup Label="UserMacros" />
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
diff --git a/libs/libblade/test/testcli.vcxproj b/libs/libblade/test/testcli.vcxproj
index 5d4816df01..e86abfdb1c 100644
--- a/libs/libblade/test/testcli.vcxproj
+++ b/libs/libblade/test/testcli.vcxproj
@@ -62,6 +62,7 @@
     <Import Project="..\..\..\w32\sodium.props" />
     <Import Project="..\..\..\w32\config.props" />
     <Import Project="..\..\..\w32\civetweb.props" />
+    <Import Project="..\..\..\w32\pcre.props" />
   </ImportGroup>
   <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
@@ -69,6 +70,7 @@
     <Import Project="..\..\..\w32\sodium.props" />
     <Import Project="..\..\..\w32\config.props" />
     <Import Project="..\..\..\w32\civetweb.props" />
+    <Import Project="..\..\..\w32\pcre.props" />
   </ImportGroup>
   <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
@@ -76,6 +78,7 @@
     <Import Project="..\..\..\w32\sodium.props" />
     <Import Project="..\..\..\w32\config.props" />
     <Import Project="..\..\..\w32\civetweb.props" />
+    <Import Project="..\..\..\w32\pcre.props" />
   </ImportGroup>
   <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
@@ -83,6 +86,7 @@
     <Import Project="..\..\..\w32\sodium.props" />
     <Import Project="..\..\..\w32\config.props" />
     <Import Project="..\..\..\w32\civetweb.props" />
+    <Import Project="..\..\..\w32\pcre.props" />
   </ImportGroup>
   <PropertyGroup Label="UserMacros" />
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
diff --git a/libs/libblade/test/testcon.vcxproj b/libs/libblade/test/testcon.vcxproj
index c93a3b62f0..8740d494ea 100644
--- a/libs/libblade/test/testcon.vcxproj
+++ b/libs/libblade/test/testcon.vcxproj
@@ -62,6 +62,7 @@
     <Import Project="..\..\..\w32\sodium.props" />
     <Import Project="..\..\..\w32\config.props" />
     <Import Project="..\..\..\w32\civetweb.props" />
+    <Import Project="..\..\..\w32\pcre.props" />
   </ImportGroup>
   <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
@@ -69,6 +70,7 @@
     <Import Project="..\..\..\w32\sodium.props" />
     <Import Project="..\..\..\w32\config.props" />
     <Import Project="..\..\..\w32\civetweb.props" />
+    <Import Project="..\..\..\w32\pcre.props" />
   </ImportGroup>
   <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
@@ -76,6 +78,7 @@
     <Import Project="..\..\..\w32\sodium.props" />
     <Import Project="..\..\..\w32\config.props" />
     <Import Project="..\..\..\w32\civetweb.props" />
+    <Import Project="..\..\..\w32\pcre.props" />
   </ImportGroup>
   <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
@@ -83,6 +86,7 @@
     <Import Project="..\..\..\w32\sodium.props" />
     <Import Project="..\..\..\w32\config.props" />
     <Import Project="..\..\..\w32\civetweb.props" />
+    <Import Project="..\..\..\w32\pcre.props" />
   </ImportGroup>
   <PropertyGroup Label="UserMacros" />
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
diff --git a/w32/basedir.props b/w32/basedir.props
new file mode 100644
index 0000000000..c35275b02b
--- /dev/null
+++ b/w32/basedir.props
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <PropertyGroup Label="UserMacros" Condition=" '$(BaseDir)' == ''">
+      <BaseDir>$(MSBuildThisFileDirectory)..\</BaseDir>
+  </PropertyGroup>
+</Project>
\ No newline at end of file
diff --git a/w32/pcre-version.props b/w32/pcre-version.props
new file mode 100644
index 0000000000..58480c8763
--- /dev/null
+++ b/w32/pcre-version.props
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ImportGroup Label="PropertySheets">
+    <Import Project="basedir.props"/>
+  </ImportGroup>
+  <PropertyGroup Label="UserMacros">
+    <PCREVersion>8.34</PCREVersion>
+  </PropertyGroup>
+  <PropertyGroup>
+    <PCREVersionImported>true</PCREVersionImported>
+  </PropertyGroup>
+  <PropertyGroup />
+  <ItemDefinitionGroup />
+  <ItemGroup>
+    <BuildMacro Include="PCREVersion">
+      <Value>$(PCREVersion)</Value>
+    </BuildMacro>
+  </ItemGroup>
+</Project>
\ No newline at end of file
diff --git a/w32/pcre.props b/w32/pcre.props
new file mode 100644
index 0000000000..a437bb4d6c
--- /dev/null
+++ b/w32/pcre.props
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ImportGroup Label="PropertySheets">
+    <Import Project="pcre-version.props" Condition=" '$(PCREVersionImported)' == ''"/>
+  </ImportGroup>
+  <PropertyGroup Label="UserMacros" />
+  <PropertyGroup>
+    <PCREPropsImported>true</PCREPropsImported>
+  </PropertyGroup>
+  <ItemDefinitionGroup>
+    <ClCompile>
+      <AdditionalIncludeDirectories>$(BaseDir)libs\pcre-$(PCREVersion);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <MultiProcessorCompilation>true</MultiProcessorCompilation>
+      <PreprocessorDefinitions>PCRE_STATIC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+    </ClCompile>
+  </ItemDefinitionGroup>
+  <ItemGroup />
+</Project>