summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChun-wei Fan <fanchunwei@src.gnome.org>2014-06-09 10:49:53 +0800
committerChun-wei Fan <fanchunwei@src.gnome.org>2014-06-09 10:50:32 +0800
commit809246a62d5ca91f7321f8239db50b77eaaef021 (patch)
tree8536676185e0f6adff28d6a7fc7f014c855eb82c
parent35fbbe32ae49cb80130be4d0cd7d375dfef6d2ad (diff)
downloadpango-809246a62d5ca91f7321f8239db50b77eaaef021.tar.gz
MSVC 2010+ Projects: Update "Installation" Process
Currently, due to the way that Visual Studio 2010+ projects are handled, the "install" project does not re-build upon changes to the sources, as it does not believe that its dependencies have changed, although the changed sources are automatically recompiled. This means that if a part or more of the solution does not build, or if the sources need some other fixes or enhancements, the up-to-date build is not copied automatically, which can be misleading. Improve on the situation by forcing the "install" project to trigger its rebuild, so that the updated binaries can be copied. This does trigger an MSBuild warning, but having that warning is way better than not having an up-to-date build, especially during testing and development.
-rw-r--r--build/win32/vs10/install.vcxproj52
-rw-r--r--build/win32/vs10/pango-install-bin.props2
-rw-r--r--build/win32/vs10/pango-install.propsin14
3 files changed, 42 insertions, 26 deletions
diff --git a/build/win32/vs10/install.vcxproj b/build/win32/vs10/install.vcxproj
index b8bab145..d3189107 100644
--- a/build/win32/vs10/install.vcxproj
+++ b/build/win32/vs10/install.vcxproj
@@ -139,46 +139,50 @@
<ExtensionsToDeleteOnClean Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug_FC|Win32'">
- <PreBuildEvent>
- <Command>$(PangoDoInstallBin) $(PangoInstallHeadersData)</Command>
- </PreBuildEvent>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <PreBuildEvent>
- <Command>$(PangoDoInstallBin) $(PangoInstallHeadersData)</Command>
- </PreBuildEvent>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release_FC|Win32'">
- <PreBuildEvent>
- <Command>$(PangoDoInstallBin) $(PangoInstallHeadersData)</Command>
- </PreBuildEvent>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <PreBuildEvent>
- <Command>$(PangoDoInstallBin) $(PangoInstallHeadersData)</Command>
- </PreBuildEvent>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug_FC|x64'">
- <PreBuildEvent>
- <Command>$(PangoDoInstallBin) $(PangoInstallHeadersData)</Command>
- </PreBuildEvent>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
- <PreBuildEvent>
- <Command>$(PangoDoInstallBin) $(PangoInstallHeadersData)</Command>
- </PreBuildEvent>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release_FC|x64'">
- <PreBuildEvent>
- <Command>$(PangoDoInstallBin) $(PangoInstallHeadersData)</Command>
- </PreBuildEvent>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
- <PreBuildEvent>
- <Command>$(PangoDoInstallBin) $(PangoInstallHeadersData)</Command>
- </PreBuildEvent>
</ItemDefinitionGroup>
<ItemGroup>
+ <CustomBuild Include="..\..\..\config.h.win32">
+ <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Installing Build Results...</Message>
+ <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(PangoDoInstallBin) $(PangoInstallHeadersData)</Command>
+ <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(InstalledDlls);%(Outputs)</Outputs>
+ <Message Condition="'$(Configuration)|$(Platform)'=='Debug_FC|Win32'">Installing Build Results...</Message>
+ <Command Condition="'$(Configuration)|$(Platform)'=='Debug_FC|Win32'">$(PangoDoInstallBin) $(PangoInstallHeadersData)</Command>
+ <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug_FC|Win32'">$(InstalledDlls);$(InstalledFCDlls);%(Outputs)</Outputs>
+ <Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Installing Build Results...</Message>
+ <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(PangoDoInstallBin) $(PangoInstallHeadersData)</Command>
+ <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(InstalledDlls);%(Outputs)</Outputs>
+ <Message Condition="'$(Configuration)|$(Platform)'=='Debug_FC|x64'">Installing Build Results...</Message>
+ <Command Condition="'$(Configuration)|$(Platform)'=='Debug_FC|x64'">$(PangoDoInstallBin) $(PangoInstallHeadersData)</Command>
+ <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug_FC|x64'">$(InstalledDlls);$(InstalledFCDlls);%(Outputs)</Outputs>
+ <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Installing Build Results...</Message>
+ <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(PangoDoInstallBin) $(PangoInstallHeadersData)</Command>
+ <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(InstalledDlls);%(Outputs)</Outputs>
+ <Message Condition="'$(Configuration)|$(Platform)'=='Release_FC|Win32'">Installing Build Results...</Message>
+ <Command Condition="'$(Configuration)|$(Platform)'=='Release_FC|Win32'">$(PangoDoInstallBin) $(PangoInstallHeadersData)</Command>
+ <Outputs Condition="'$(Configuration)|$(Platform)'=='Release_FC|Win32'">$(InstalledDlls);$(InstalledFCDlls);%(Outputs)</Outputs>
+ <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Installing Build Results...</Message>
+ <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(PangoDoInstallBin) $(PangoInstallHeadersData)</Command>
+ <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(InstalledDlls);%(Outputs)</Outputs>
+ <Message Condition="'$(Configuration)|$(Platform)'=='Release_FC|x64'">Installing Build Results...</Message>
+ <Command Condition="'$(Configuration)|$(Platform)'=='Release_FC|x64'">$(PangoDoInstallBin) $(PangoInstallHeadersData)</Command>
+ <Outputs Condition="'$(Configuration)|$(Platform)'=='Release_FC|x64'">$(InstalledDlls);$(InstalledFCDlls);%(Outputs)</Outputs>
+ </CustomBuild>
+ </ItemGroup>
+ <ItemGroup>
<ProjectReference Include="pango.vcxproj">
<Project>{68cc80b9-7225-4fb5-b9ab-9c1df50b6c72}</Project>
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
diff --git a/build/win32/vs10/pango-install-bin.props b/build/win32/vs10/pango-install-bin.props
index 8a8ca733..9fe3235a 100644
--- a/build/win32/vs10/pango-install-bin.props
+++ b/build/win32/vs10/pango-install-bin.props
@@ -62,4 +62,4 @@ if "$(Configuration)" == "Debug_FC" copy $(SolutionDir)\Debug\$(Platform)\bin\pa
<Value>$(PangoDoInstallBin)</Value>
</BuildMacro>
</ItemGroup>
-</Project> \ No newline at end of file
+</Project>
diff --git a/build/win32/vs10/pango-install.propsin b/build/win32/vs10/pango-install.propsin
index e4114759..0f73207d 100644
--- a/build/win32/vs10/pango-install.propsin
+++ b/build/win32/vs10/pango-install.propsin
@@ -4,6 +4,9 @@
<Import Project="pango-install-bin.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros">
+ <BinDir>$(SolutionDir)$(Configuration)\$(Platform)\bin</BinDir>
+ <InstalledDlls>$(BinDir)\$(PangoDllPrefix)pango(PangoDllSuffix).dll;$(BinDir)\$(PangoDllPrefix)pangowin32(PangoDllSuffix).dll;$(BinDir)\$(PangoDllPrefix)pangocairo(PangoDllSuffix).dll</InstalledDlls>
+ <InstalledFCDlls>$(BinDir)\$(PangoDllPrefix)pangoft2(PangoDllSuffix).dll</InstalledFCDlls>
<PangoInstallHeadersData>
#include "pango.vs10.headers"
@@ -55,8 +58,17 @@ echo monospace = "courier new,courier monothai,mingliu,simsun,gulimche,ms gothic
<ItemDefinitionGroup>
</ItemDefinitionGroup>
<ItemGroup>
+ <BuildMacro Include="BinDir">
+ <Value>$(BinDir)</Value>
+ </BuildMacro>
+ <BuildMacro Include="InstalledDlls">
+ <Value>$(InstalledDlls)</Value>
+ </BuildMacro>
+ <BuildMacro Include="InstalledFCDlls">
+ <Value>$(InstalledFCDlls)</Value>
+ </BuildMacro>
<BuildMacro Include="PangoInstallHeadersData">
<Value>$(PangoInstallHeadersData)</Value>
</BuildMacro>
</ItemGroup>
-</Project> \ No newline at end of file
+</Project>