From 2f5bf396e736f7406e697b7b6a5362f5978b44da Mon Sep 17 00:00:00 2001
From: Thomas Goyne <plorkyeran@aegisub.org>
Date: Tue, 11 Mar 2014 12:11:05 -0700
Subject: [PATCH] Install CSRI and iconv headers rather than mucking about with
 include paths

---
 build/Aegisub/Aegisub.targets       | 1 -
 build/boost/boost.vcxproj           | 4 ----
 build/csrihelper/csrihelper.vcxproj | 8 ++++++++
 build/libaegisub/libaegisub.vcxproj | 1 -
 build/libass/libass.vcxproj         | 1 -
 build/libiconv/libiconv.vcxproj     | 6 ++++++
 src/subtitles_provider_csri.cpp     | 5 ++---
 7 files changed, 16 insertions(+), 10 deletions(-)

diff --git a/build/Aegisub/Aegisub.targets b/build/Aegisub/Aegisub.targets
index 07f0e5de3..438a7790b 100644
--- a/build/Aegisub/Aegisub.targets
+++ b/build/Aegisub/Aegisub.targets
@@ -146,7 +146,6 @@
       </PreprocessorDefinitions>
       <AdditionalIncludeDirectories>
         $(SrcDir)include\;
-        $(AegisubContribBase)iconv\include;
         $(AegisubSourceBase)libaegisub\include;
         $(AegisubSourceBase)build;
         $(AegisubSourceBase)include;
diff --git a/build/boost/boost.vcxproj b/build/boost/boost.vcxproj
index 7af7d369b..f708057d9 100644
--- a/build/boost/boost.vcxproj
+++ b/build/boost/boost.vcxproj
@@ -25,10 +25,6 @@
         BOOST_THREAD_BUILD_LIB;
         %(PreprocessorDefinitions)
       </PreprocessorDefinitions>
-      <AdditionalIncludeDirectories>
-        $(AegisubContribBase)iconv\include;
-        %(AdditionalIncludeDirectories)
-      </AdditionalIncludeDirectories>
     </ClCompile>
   </ItemDefinitionGroup>
 
diff --git a/build/csrihelper/csrihelper.vcxproj b/build/csrihelper/csrihelper.vcxproj
index 93fb6a037..4f9ff8290 100644
--- a/build/csrihelper/csrihelper.vcxproj
+++ b/build/csrihelper/csrihelper.vcxproj
@@ -5,6 +5,7 @@
     <ProjectGuid>{C832EAF3-860D-4373-A02C-933626B47A5E}</ProjectGuid>
     <RootNamespace>csrihelper</RootNamespace>
   </PropertyGroup>
+
   <!-- Aegisub project configuration -->
   <PropertyGroup Label="AegisubConfiguration">
     <AegisubProjectType>lib</AegisubProjectType>
@@ -13,6 +14,7 @@
   <ImportGroup Label="PropertySheets">
     <Import Project="$(MSBuildThisFileDirectory)..\aegisub.props" />
   </ImportGroup>
+
   <!-- Project specific configuration -->
   <ItemDefinitionGroup>
     <ClCompile>
@@ -20,7 +22,13 @@
       <AdditionalIncludeDirectories>$(SrcDir)include\;$(SrcDir)lib\;$(SrcDir)lib\win32\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
     </ClCompile>
   </ItemDefinitionGroup>
+
   <!-- Source files -->
+  <ItemGroup>
+    <InstallHeader Include="$(SrcDir)\include\csri\*.h">
+      <Destination>csri\</Destination>
+    </InstallHeader>
+  </ItemGroup>
   <ItemGroup>
     <ClInclude Include="$(SrcDir)include\csri\csri.h" />
     <ClInclude Include="$(SrcDir)include\csri\fmtids.h" />
diff --git a/build/libaegisub/libaegisub.vcxproj b/build/libaegisub/libaegisub.vcxproj
index a73a35119..3c2aef4dd 100644
--- a/build/libaegisub/libaegisub.vcxproj
+++ b/build/libaegisub/libaegisub.vcxproj
@@ -18,7 +18,6 @@
       <AdditionalIncludeDirectories>
         $(SrcDir);
         $(SrcDir)include;
-        $(AegisubContribBase)iconv\include;
         %(AdditionalIncludeDirectories)
       </AdditionalIncludeDirectories>
       <PreprocessorDefinitions>
diff --git a/build/libass/libass.vcxproj b/build/libass/libass.vcxproj
index 23b78747a..282aeb2d5 100644
--- a/build/libass/libass.vcxproj
+++ b/build/libass/libass.vcxproj
@@ -21,7 +21,6 @@
         $(LibassSrcDir)\libass;
         $(MSBuildThisFileDirectory);
         $(AegisubSourceBase)\include\fribidi;
-        $(AegisubContribBase)iconv\include;
         %(AdditionalIncludeDirectories)
       </AdditionalIncludeDirectories>
       <PreprocessorDefinitions>
diff --git a/build/libiconv/libiconv.vcxproj b/build/libiconv/libiconv.vcxproj
index c86b91668..cc2e00d28 100644
--- a/build/libiconv/libiconv.vcxproj
+++ b/build/libiconv/libiconv.vcxproj
@@ -4,6 +4,7 @@
     <ProjectGuid>{965054D2-44F2-4EB2-9879-051CC3D7EF08}</ProjectGuid>
     <RootNamespace>libiconv</RootNamespace>
   </PropertyGroup>
+
   <!-- Aegisub project configuration -->
   <PropertyGroup Label="AegisubConfiguration">
     <AegisubProjectType>lib</AegisubProjectType>
@@ -12,6 +13,7 @@
   <ImportGroup Label="PropertySheets">
     <Import Project="$(MSBuildThisFileDirectory)..\aegisub.props" />
   </ImportGroup>
+
   <!-- Project specific configuration -->
   <ItemDefinitionGroup>
     <ClCompile>
@@ -20,7 +22,11 @@
       <CompileAs>CompileAsC</CompileAs>
     </ClCompile>
   </ItemDefinitionGroup>
+
   <!-- Source files -->
+  <ItemGroup>
+    <InstallHeader Include="$(SrcDir)\include\iconv.h" />
+  </ItemGroup>
   <ItemGroup>
     <ClInclude Include="$(SrcDir)include\iconv.h" />
     <ClInclude Include="$(SrcDir)include\libcharset.h" />
diff --git a/src/subtitles_provider_csri.cpp b/src/subtitles_provider_csri.cpp
index 3bf710f37..dffd5bd3a 100644
--- a/src/subtitles_provider_csri.cpp
+++ b/src/subtitles_provider_csri.cpp
@@ -49,11 +49,10 @@
 
 #ifdef WIN32
 #define CSRIAPI
-#include "../../contrib/csri/include/csri/csri.h"
-#else
-#include <csri/csri.h>
 #endif
 
+#include <csri/csri.h>
+
 // CSRI renderers are not required to be thread safe (and VSFilter very much
 // is not)
 static std::mutex csri_mutex;
-- 
GitLab