[libcroco] MSVC Builds: Split up the Property Sheets



commit cb764721168bc9ba86b64447108eb384c7747c0d
Author: Chun-wei Fan <fanchunwei src gnome org>
Date:   Fri Aug 8 15:43:56 2014 +0800

    MSVC Builds: Split up the Property Sheets
    
    Update the Visual Studio Projects so that the property sheets are split by
    the functions required, so to simplify their maintenance.  The projects can
    then import the property sheets that suit their needs.  This is done like
    the rest of the GTK+ stack, so it also makes it easier to support newer
    versions of Visual Studio.
    
    As the original main property sheet is generated during configure time (and
    disted), update configure.ac as well, as the name of the template file
    changed in the process.

 build/win32/vs10/Makefile.am                       |    7 +-
 build/win32/vs10/croco-build-defines.props         |   41 +++++
 build/win32/vs10/croco-gen-srcs.props              |   44 +++++
 build/win32/vs10/croco-install.props               |  111 +++++++++++++
 build/win32/vs10/croco-version-paths.props.in      |   69 ++++++++
 build/win32/vs10/croco.vcxprojin                   |    8 +-
 build/win32/vs10/csslint.vcxproj                   |    8 +-
 build/win32/vs10/install.vcxproj                   |   64 +++-----
 build/win32/vs10/libcroco.props.in                 |  171 --------------------
 build/win32/vs9/Makefile.am                        |    8 +-
 build/win32/vs9/croco-build-defines.vsprops        |   40 +++++
 build/win32/vs9/croco-gen-srcs.vsprops             |   38 +++++
 .../{libcroco.vsprops.in => croco-install.vsprops} |   69 +--------
 build/win32/vs9/croco-version-paths.vsprops.in     |   68 ++++++++
 build/win32/vs9/croco.vcprojin                     |    8 +-
 build/win32/vs9/csslint.vcproj                     |    8 +-
 build/win32/vs9/install.vcproj                     |    8 +-
 configure.ac                                       |    4 +-
 18 files changed, 465 insertions(+), 309 deletions(-)
---
diff --git a/build/win32/vs10/Makefile.am b/build/win32/vs10/Makefile.am
index c8bae46..408896c 100644
--- a/build/win32/vs10/Makefile.am
+++ b/build/win32/vs10/Makefile.am
@@ -25,6 +25,9 @@ EXTRA_DIST = \
        csslint.vcxproj.filters \
        install.vcxproj                 \
        libcroco.sln                    \
-       libcroco.props                  \
-       libcroco.props.in
+       croco-build-defines.props       \
+       croco-gen-srcs.props    \
+       croco-install.props     \
+       croco-version-paths.props       \
+       croco-version-paths.props.in
 
diff --git a/build/win32/vs10/croco-build-defines.props b/build/win32/vs10/croco-build-defines.props
new file mode 100644
index 0000000..8e2105d
--- /dev/null
+++ b/build/win32/vs10/croco-build-defines.props
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+This file is part of The Croco Library
+This program is free software; you can redistribute it and/or
+modify it under the terms of version 2.1 of the GNU Lesser General Public
+License as published by the Free Software Foundation.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU Lesser General Public License
+along with this program; if not, write to the Free Software
+Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
+USA
+
+Author: Fan, Chun-wei
+See COPYRIGHTS file for copyright information.
+-->
+<Project DefaultTargets="Build" ToolsVersion="4.0" 
xmlns="http://schemas.microsoft.com/developer/msbuild/2003";>
+  <ImportGroup Label="PropertySheets">
+    <Import Project="croco-version-paths.props" />
+  </ImportGroup>
+  <PropertyGroup>
+    <_PropertySheetDisplayName>crocobuilddefinesprops</_PropertySheetDisplayName>
+    <OutDir>$(SolutionDir)$(Configuration)\$(PlatformName)\bin\</OutDir>
+    <IntDir>$(SolutionDir)$(Configuration)\$(PlatformName)\obj\$(ProjectName)\</IntDir>
+  </PropertyGroup>
+  <ItemDefinitionGroup>
+    <ClCompile>
+      
<AdditionalIncludeDirectories>..\..\..\src;..\..\..;$(GlibEtcInstallRoot)\include;$(GlibEtcInstallRoot)\include\glib-2.0;$(GlibEtcInstallRoot)\lib\glib-2.0\include\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions>HAVE_CONFIG_H;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <ForcedIncludeFiles>msvc_recommended_pragmas.h;%(ForcedIncludeFiles)</ForcedIncludeFiles>
+    </ClCompile>
+    <Link>
+      <AdditionalDependencies>libxml2.lib;glib-2.0.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      
<AdditionalLibraryDirectories>$(GlibEtcInstallRoot)\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+    </Link>
+  </ItemDefinitionGroup>
+</Project>
diff --git a/build/win32/vs10/croco-gen-srcs.props b/build/win32/vs10/croco-gen-srcs.props
new file mode 100644
index 0000000..a584aa9
--- /dev/null
+++ b/build/win32/vs10/croco-gen-srcs.props
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+This file is part of The Croco Library
+This program is free software; you can redistribute it and/or
+modify it under the terms of version 2.1 of the GNU Lesser General Public
+License as published by the Free Software Foundation.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU Lesser General Public License
+along with this program; if not, write to the Free Software
+Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
+USA
+
+Author: Fan, Chun-wei
+See COPYRIGHTS file for copyright information.
+-->
+<Project DefaultTargets="Build" ToolsVersion="4.0" 
xmlns="http://schemas.microsoft.com/developer/msbuild/2003";>
+  <ImportGroup Label="PropertySheets">
+    <Import Project="croco-build-defines.props" />
+  </ImportGroup>
+  <PropertyGroup Label="UserMacros">
+    <CopyConfigH>copy ..\..\..\config.h.win32 ..\..\..\config.h</CopyConfigH>
+    <GenerateLibCrocoDef>
+echo EXPORTS &gt; $(DefDir)libcroco.def
+
+cl  /EP ..\..\..\src\libcroco.symbols &gt;&gt; $(DefDir)libcroco.def
+    </GenerateLibCrocoDef>
+  </PropertyGroup>
+  <PropertyGroup>
+    <_PropertySheetDisplayName>crocogensrcsprops</_PropertySheetDisplayName>
+  </PropertyGroup>
+  <ItemGroup>
+    <BuildMacro Include="CopyConfigH">
+      <Value>$(CopyConfigH)</Value>
+    </BuildMacro>
+    <BuildMacro Include="GenerateLibCrocoDef">
+      <Value>$(GenerateLibCrocoDef)</Value>
+    </BuildMacro>
+  </ItemGroup>
+</Project>
diff --git a/build/win32/vs10/croco-install.props b/build/win32/vs10/croco-install.props
new file mode 100644
index 0000000..9e34a23
--- /dev/null
+++ b/build/win32/vs10/croco-install.props
@@ -0,0 +1,111 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+This file is part of The Croco Library
+This program is free software; you can redistribute it and/or
+modify it under the terms of version 2.1 of the GNU Lesser General Public
+License as published by the Free Software Foundation.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU Lesser General Public License
+along with this program; if not, write to the Free Software
+Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
+USA
+
+Author: Fan, Chun-wei
+See COPYRIGHTS file for copyright information.
+-->
+<Project DefaultTargets="Build" ToolsVersion="4.0" 
xmlns="http://schemas.microsoft.com/developer/msbuild/2003";>
+  <ImportGroup Label="PropertySheets">
+    <Import Project="croco-build-defines.props" />
+  </ImportGroup>
+  <PropertyGroup Label="UserMacros">
+    <BinDir>$(SolutionDir)$(Configuration)\$(Platform)\bin</BinDir>
+    <InstalledDlls>$(BinDir)\$(GlibDllPrefix)croco(GlibDllSuffix).dll</InstalledDlls>
+    <InstalledBins>$(BinDir)\csslint.exe</InstalledBins>
+    <LibCrocoDoInstall>
+mkdir $(GlibEtcInstallRoot)
+
+mkdir $(GlibEtcInstallRoot)\bin
+
+copy $(SolutionDir)$(Configuration)\$(Platform)\bin\*.dll $(GlibEtcInstallRoot)\bin
+
+copy $(SolutionDir)$(Configuration)\$(Platform)\bin\*.exe $(GlibEtcInstallRoot)\bin
+
+
+mkdir $(GlibEtcInstallRoot)\include\libcroco-$(ApiVersion)\libcroco
+
+copy ..\..\..\src\libcroco.h $(GlibEtcInstallRoot)\include\libcroco-$(ApiVersion)\libcroco
+
+copy ..\..\..\src\libcroco-config.h $(GlibEtcInstallRoot)\include\libcroco-$(ApiVersion)\libcroco
+
+copy ..\..\..\src\cr-additional-sel.h $(GlibEtcInstallRoot)\include\libcroco-$(ApiVersion)\libcroco
+
+copy ..\..\..\src\cr-attr-sel.h $(GlibEtcInstallRoot)\include\libcroco-$(ApiVersion)\libcroco
+
+copy ..\..\..\src\cr-cascade.h $(GlibEtcInstallRoot)\include\libcroco-$(ApiVersion)\libcroco
+
+copy ..\..\..\src\cr-declaration.h $(GlibEtcInstallRoot)\include\libcroco-$(ApiVersion)\libcroco
+
+copy ..\..\..\src\cr-doc-handler.h $(GlibEtcInstallRoot)\include\libcroco-$(ApiVersion)\libcroco
+
+copy ..\..\..\src\cr-enc-handler.h $(GlibEtcInstallRoot)\include\libcroco-$(ApiVersion)\libcroco
+
+copy ..\..\..\src\cr-fonts.h $(GlibEtcInstallRoot)\include\libcroco-$(ApiVersion)\libcroco
+
+copy ..\..\..\src\cr-input.h $(GlibEtcInstallRoot)\include\libcroco-$(ApiVersion)\libcroco
+
+copy ..\..\..\src\cr-num.h $(GlibEtcInstallRoot)\include\libcroco-$(ApiVersion)\libcroco
+
+copy ..\..\..\src\cr-om-parser.h $(GlibEtcInstallRoot)\include\libcroco-$(ApiVersion)\libcroco
+
+copy ..\..\..\src\cr-parser.h $(GlibEtcInstallRoot)\include\libcroco-$(ApiVersion)\libcroco
+
+copy ..\..\..\src\cr-parsing-location.h $(GlibEtcInstallRoot)\include\libcroco-$(ApiVersion)\libcroco
+
+copy ..\..\..\src\cr-prop-list.h $(GlibEtcInstallRoot)\include\libcroco-$(ApiVersion)\libcroco
+
+copy ..\..\..\src\cr-pseudo.h $(GlibEtcInstallRoot)\include\libcroco-$(ApiVersion)\libcroco
+
+copy ..\..\..\src\cr-rgb.h $(GlibEtcInstallRoot)\include\libcroco-$(ApiVersion)\libcroco
+
+copy ..\..\..\src\cr-selector.h $(GlibEtcInstallRoot)\include\libcroco-$(ApiVersion)\libcroco
+
+copy ..\..\..\src\cr-sel-eng.h $(GlibEtcInstallRoot)\include\libcroco-$(ApiVersion)\libcroco
+
+copy ..\..\..\src\cr-simple-sel.h $(GlibEtcInstallRoot)\include\libcroco-$(ApiVersion)\libcroco
+
+copy ..\..\..\src\cr-statement.h $(GlibEtcInstallRoot)\include\libcroco-$(ApiVersion)\libcroco
+
+copy ..\..\..\src\cr-string.h $(GlibEtcInstallRoot)\include\libcroco-$(ApiVersion)\libcroco
+
+copy ..\..\..\src\cr-stylesheet.h $(GlibEtcInstallRoot)\include\libcroco-$(ApiVersion)\libcroco
+
+copy ..\..\..\src\cr-style.h $(GlibEtcInstallRoot)\include\libcroco-$(ApiVersion)\libcroco
+
+copy ..\..\..\src\cr-term.h $(GlibEtcInstallRoot)\include\libcroco-$(ApiVersion)\libcroco
+
+copy ..\..\..\src\cr-tknzr.h $(GlibEtcInstallRoot)\include\libcroco-$(ApiVersion)\libcroco
+
+copy ..\..\..\src\cr-token.h $(GlibEtcInstallRoot)\include\libcroco-$(ApiVersion)\libcroco
+
+copy ..\..\..\src\cr-utils.h $(GlibEtcInstallRoot)\include\libcroco-$(ApiVersion)\libcroco
+
+
+mkdir $(GlibEtcInstallRoot)\lib
+
+copy $(SolutionDir)$(Configuration)\$(Platform)\bin\*-$(ApiVersion).lib $(GlibEtcInstallRoot)\lib
+    </LibCrocoDoInstall>
+  </PropertyGroup>
+  <PropertyGroup>
+    <_PropertySheetDisplayName>crocoinstallprops</_PropertySheetDisplayName>
+  </PropertyGroup>
+  <ItemGroup>
+    <BuildMacro Include="LibCrocoDoInstall">
+      <Value>$(LibCrocoDoInstall)</Value>
+    </BuildMacro>
+  </ItemGroup>
+</Project>
diff --git a/build/win32/vs10/croco-version-paths.props.in b/build/win32/vs10/croco-version-paths.props.in
new file mode 100644
index 0000000..171cfcb
--- /dev/null
+++ b/build/win32/vs10/croco-version-paths.props.in
@@ -0,0 +1,69 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+This file is part of The Croco Library
+This program is free software; you can redistribute it and/or
+modify it under the terms of version 2.1 of the GNU Lesser General Public
+License as published by the Free Software Foundation.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU Lesser General Public License
+along with this program; if not, write to the Free Software
+Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
+USA
+
+Author: Fan, Chun-wei
+See COPYRIGHTS file for copyright information.
+-->
+<Project DefaultTargets="Build" ToolsVersion="4.0" 
xmlns="http://schemas.microsoft.com/developer/msbuild/2003";>
+  <PropertyGroup Label="UserMacros">
+    <ApiVersion>@LIBCROCO_MAJOR_VERSION  @LIBCROCO_MINOR_VERSION@</ApiVersion>
+    <VSVer>10</VSVer>
+    <GlibEtcInstallRoot>$(SolutionDir)\..\..\..\..\vs$(VSVer)\$(Platform)</GlibEtcInstallRoot>
+    <DefDir>$(SolutionDir)$(Configuration)\$(PlatformName)\obj\$(ProjectName)\</DefDir>
+    <LibCrocoLibtoolCompatibleDllPrefix>lib</LibCrocoLibtoolCompatibleDllPrefix>
+    <LibCrocoLibtoolCompatibleDllSuffix>-$(ApiVersion)-0</LibCrocoLibtoolCompatibleDllSuffix>
+    <LibCrocoSeparateVSDllPrefix />
+    <LibCrocoSeparateVSDllSuffix>-$(ApiVersion)-vs$(VSVer)</LibCrocoSeparateVSDllSuffix>
+    <LibCrocoDllPrefix>$(LibCrocoSeparateVSDllPrefix)</LibCrocoDllPrefix>
+    <LibCrocoDllSuffix>$(LibCrocoSeparateVSDllSuffix)</LibCrocoDllSuffix>
+  </PropertyGroup>
+  <PropertyGroup>
+    <_PropertySheetDisplayName>crocoversionpathsprops</_PropertySheetDisplayName>
+  </PropertyGroup>
+  <ItemGroup>
+    <BuildMacro Include="ApiVersion">
+      <Value>$(ApiVersion)</Value>
+    </BuildMacro>
+    <BuildMacro Include="VSVer">
+      <Value>$(VSVer)</Value>
+    </BuildMacro>
+    <BuildMacro Include="GlibEtcInstallRoot">
+      <Value>$(GlibEtcInstallRoot)</Value>
+    </BuildMacro>
+    <BuildMacro Include="DefDir">
+      <Value>$(DefDir)</Value>
+    </BuildMacro>
+    <BuildMacro Include="LibCrocoLibtoolCompatibleDllPrefix">
+      <Value>$(LibCrocoLibtoolCompatibleDllPrefix)</Value>
+    </BuildMacro>
+    <BuildMacro Include="LibCrocoLibtoolCompatibleDllSuffix">
+      <Value>$(LibCrocoLibtoolCompatibleDllSuffix)</Value>
+    </BuildMacro>
+    <BuildMacro Include="LibCrocoSeparateVSDllPrefix">
+      <Value>$(LibCrocoSeparateVSDllPrefix)</Value>
+    </BuildMacro>
+    <BuildMacro Include="LibCrocoSeparateVSDllSuffix">
+      <Value>$(LibCrocoSeparateVSDllSuffix)</Value>
+    </BuildMacro>
+    <BuildMacro Include="LibCrocoDllPrefix">
+      <Value>$(LibCrocoDllPrefix)</Value>
+    </BuildMacro>
+    <BuildMacro Include="LibCrocoDllSuffix">
+      <Value>$(LibCrocoDllSuffix)</Value>
+    </BuildMacro>
+  </ItemGroup>
+</Project>
diff --git a/build/win32/vs10/croco.vcxprojin b/build/win32/vs10/croco.vcxprojin
index 42e6206..b9d65d5 100644
--- a/build/win32/vs10/croco.vcxprojin
+++ b/build/win32/vs10/croco.vcxprojin
@@ -70,19 +70,19 @@ See COPYRIGHTS file for copyright information.
   </ImportGroup>
   <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" 
Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="libcroco.props" />
+    <Import Project="croco-gen-srcs.props" />
   </ImportGroup>
   <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" 
Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="libcroco.props" />
+    <Import Project="croco-gen-srcs.props" />
   </ImportGroup>
   <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" 
Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="libcroco.props" />
+    <Import Project="croco-gen-srcs.props" />
   </ImportGroup>
   <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" 
Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="libcroco.props" />
+    <Import Project="croco-gen-srcs.props" />
   </ImportGroup>
   <PropertyGroup Label="UserMacros" />
   <PropertyGroup>
diff --git a/build/win32/vs10/csslint.vcxproj b/build/win32/vs10/csslint.vcxproj
index 704fe9d..5917b79 100644
--- a/build/win32/vs10/csslint.vcxproj
+++ b/build/win32/vs10/csslint.vcxproj
@@ -70,19 +70,19 @@ See COPYRIGHTS file for copyright information.
   </ImportGroup>
   <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" 
Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="libcroco.props" />
+    <Import Project="croco-build-defines.props" />
   </ImportGroup>
   <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" 
Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="libcroco.props" />
+    <Import Project="croco-build-defines.props" />
   </ImportGroup>
   <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" 
Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="libcroco.props" />
+    <Import Project="croco-build-defines.props" />
   </ImportGroup>
   <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" 
Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="libcroco.props" />
+    <Import Project="croco-build-defines.props" />
   </ImportGroup>
   <PropertyGroup Label="UserMacros" />
   <PropertyGroup>
diff --git a/build/win32/vs10/install.vcxproj b/build/win32/vs10/install.vcxproj
index 5396641..dfeffcb 100644
--- a/build/win32/vs10/install.vcxproj
+++ b/build/win32/vs10/install.vcxproj
@@ -69,19 +69,19 @@ See COPYRIGHTS file for copyright information.
   </ImportGroup>
   <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" 
Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="libcroco.props" />
+    <Import Project="croco-install.props" />
   </ImportGroup>
   <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" 
Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="libcroco.props" />
+    <Import Project="croco-install.props" />
   </ImportGroup>
   <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" 
Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="libcroco.props" />
+    <Import Project="croco-install.props" />
   </ImportGroup>
   <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" 
Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="libcroco.props" />
+    <Import Project="croco-install.props" />
   </ImportGroup>
   <PropertyGroup Label="UserMacros" />
   <PropertyGroup>
@@ -93,26 +93,30 @@ See COPYRIGHTS file for copyright information.
     <ExtensionsToDeleteOnClean Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
   </PropertyGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
-    <PostBuildEvent>
-      <Command>$(LibCrocoDoInstall)</Command>
-    </PostBuildEvent>
   </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
-    <PreBuildEvent>
-      <Command>$(LibCrocoDoInstall)</Command>
-    </PreBuildEvent>
   </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
-    <PostBuildEvent>
-      <Command>$(LibCrocoDoInstall)</Command>
-    </PostBuildEvent>
   </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
-    <PreBuildEvent>
-      <Command>$(LibCrocoDoInstall)</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'">$(LibCrocoDoInstall)</Command>
+      <Outputs 
Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(InstalledDlls);$(InstalledBins);$(InstalledWin32Bins);%(Outputs)</Outputs>
+      <Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Installing Build Results...</Message>
+      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(LibCrocoDoInstall)</Command>
+      <Outputs 
Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(InstalledDlls);$(InstalledBins);$(InstalledX64Bins);%(Outputs)</Outputs>
+      <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Installing Build 
Results...</Message>
+      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(LibCrocoDoInstall)</Command>
+      <Outputs 
Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(InstalledDlls);$(InstalledBins);$(InstalledWin32Bins);%(Outputs)</Outputs>
+      <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Installing Build 
Results...</Message>
+      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(LibCrocoDoInstall)</Command>
+      <Outputs 
Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(InstalledDlls);$(InstalledBins);$(InstalledX64Bins);%(Outputs)</Outputs>
+    </CustomBuild>
+  </ItemGroup>
+  <ItemGroup>
     <ProjectReference Include="croco.vcxproj">
       <Project>{4afe9f9b-7f78-41a8-b066-c7ca89938aba}</Project>
       <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
@@ -121,34 +125,6 @@ See COPYRIGHTS file for copyright information.
       <Project>{345080b1-9c5b-44b8-98d7-7381d50f3e13}</Project>
       <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
     </ProjectReference>
-    <ProjectReference Include="test0.vcxproj">
-      <Project>{b3759b5f-7b54-4746-b996-fc0eee05c1d2}</Project>
-      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
-    </ProjectReference>
-    <ProjectReference Include="test1.vcxproj">
-      <Project>{e4fbb00b-06e3-4699-bae1-83e321dd703d}</Project>
-      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
-    </ProjectReference>
-    <ProjectReference Include="test2.vcxproj">
-      <Project>{2df96837-cdf3-4644-9f39-78f0d1f2107f}</Project>
-      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
-    </ProjectReference>
-    <ProjectReference Include="test3.vcxproj">
-      <Project>{a16cd0df-4919-47d5-aa0b-c209c39a343b}</Project>
-      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
-    </ProjectReference>
-    <ProjectReference Include="test4.vcxproj">
-      <Project>{2efc0c79-c48a-49c0-aee1-15013351f562}</Project>
-      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
-    </ProjectReference>
-    <ProjectReference Include="test5.vcxproj">
-      <Project>{e5db1a16-99eb-489b-bfc1-bb3fd38acfe7}</Project>
-      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
-    </ProjectReference>
-    <ProjectReference Include="test6.vcxproj">
-      <Project>{f5ea5781-6e46-42c9-a5ea-bd09f12366be}</Project>
-      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
-    </ProjectReference>
   </ItemGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
   <ImportGroup Label="ExtensionTargets">
diff --git a/build/win32/vs9/Makefile.am b/build/win32/vs9/Makefile.am
index 914263e..20e5411 100644
--- a/build/win32/vs9/Makefile.am
+++ b/build/win32/vs9/Makefile.am
@@ -22,6 +22,8 @@ EXTRA_DIST = \
        csslint.vcproj  \
        install.vcproj  \
        libcroco.sln    \
-       libcroco.vsprops        \
-       libcroco.vsprops.in
-
+       croco-build-defines.vsprops     \
+       croco-gen-srcs.vsprops  \
+       croco-install.vsprops   \
+       croco-version-paths.vsprops     \
+       croco-version-paths.vsprops.in
diff --git a/build/win32/vs9/croco-build-defines.vsprops b/build/win32/vs9/croco-build-defines.vsprops
new file mode 100644
index 0000000..e9d5aa0
--- /dev/null
+++ b/build/win32/vs9/croco-build-defines.vsprops
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<!--
+This file is part of The Croco Library
+This program is free software; you can redistribute it and/or
+modify it under the terms of version 2.1 of the GNU Lesser General Public
+License as published by the Free Software Foundation.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU Lesser General Public License
+along with this program; if not, write to the Free Software
+Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
+USA
+
+Author: Fan, Chun-wei
+See COPYRIGHTS file for copyright information.
+-->
+<VisualStudioPropertySheet
+       ProjectType="Visual C++"
+       Version="8.00"
+       Name="crocobuilddefinesprops"
+       InheritedPropertySheets=".\croco-version-paths.vsprops"
+       OutputDirectory="$(SolutionDir)$(ConfigurationName)\$(PlatformName)\bin"
+       IntermediateDirectory="$(SolutionDir)$(ConfigurationName)\$(PlatformName)\obj\$(ProjectName)"
+       >
+       <Tool
+               Name="VCCLCompilerTool"
+               
AdditionalIncludeDirectories="..\..\..\src;..\..\..;$(GlibEtcInstallRoot)\include;$(GlibEtcInstallRoot)\include\glib-2.0;$(GlibEtcInstallRoot)\lib\glib-2.0\include\"
+               PreprocessorDefinitions="HAVE_CONFIG_H"
+               ForcedIncludeFiles="msvc_recommended_pragmas.h"
+       />
+       <Tool
+               Name="VCLinkerTool"
+               AdditionalDependencies="libxml2.lib glib-2.0.lib"
+               AdditionalLibraryDirectories="$(GlibEtcInstallRoot)\lib"
+       />
+</VisualStudioPropertySheet>
diff --git a/build/win32/vs9/croco-gen-srcs.vsprops b/build/win32/vs9/croco-gen-srcs.vsprops
new file mode 100644
index 0000000..e3562e3
--- /dev/null
+++ b/build/win32/vs9/croco-gen-srcs.vsprops
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<!--
+This file is part of The Croco Library
+This program is free software; you can redistribute it and/or
+modify it under the terms of version 2.1 of the GNU Lesser General Public
+License as published by the Free Software Foundation.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU Lesser General Public License
+along with this program; if not, write to the Free Software
+Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
+USA
+
+Author: Fan, Chun-wei
+See COPYRIGHTS file for copyright information.
+-->
+<VisualStudioPropertySheet
+       ProjectType="Visual C++"
+       Version="8.00"
+       Name="crocogensrcsprops"
+       InheritedPropertySheets=".\croco-build-defines.vsprops"
+       >
+       <UserMacro
+               Name="CopyConfigH"
+               Value="copy ..\..\..\config.h.win32 ..\..\..\config.h"
+       />
+       <UserMacro
+               Name="GenerateLibCrocoDef"
+               Value="
+echo EXPORTS &gt; $(DefDir)\libcroco.def&#x0D;&#x0A;
+cl  /EP ..\..\..\src\libcroco.symbols &gt;&gt; $(DefDir)\libcroco.def&#x0D;&#x0A;
+                         "
+       />
+</VisualStudioPropertySheet>
diff --git a/build/win32/vs9/libcroco.vsprops.in b/build/win32/vs9/croco-install.vsprops
similarity index 70%
rename from build/win32/vs9/libcroco.vsprops.in
rename to build/win32/vs9/croco-install.vsprops
index 7e46042..a8461f7 100644
--- a/build/win32/vs9/libcroco.vsprops.in
+++ b/build/win32/vs9/croco-install.vsprops
@@ -21,41 +21,9 @@ See COPYRIGHTS file for copyright information.
 <VisualStudioPropertySheet
        ProjectType="Visual C++"
        Version="8.00"
-       Name="libcrocoprops"
-       OutputDirectory="$(SolutionDir)$(ConfigurationName)\$(PlatformName)\bin"
-       IntermediateDirectory="$(SolutionDir)$(ConfigurationName)\$(PlatformName)\obj\$(ProjectName)"
+       Name="crocoinstallprops"
+       InheritedPropertySheets=".\croco-build-defines.vsprops"
        >
-       <Tool
-               Name="VCCLCompilerTool"
-               
AdditionalIncludeDirectories="..\..\..\src;..\..\..;$(GlibEtcInstallRoot)\include;$(GlibEtcInstallRoot)\include\glib-2.0;$(GlibEtcInstallRoot)\lib\glib-2.0\include\"
-               PreprocessorDefinitions="HAVE_CONFIG_H"
-               ForcedIncludeFiles="msvc_recommended_pragmas.h"
-       />
-       <Tool
-               Name="VCLinkerTool"
-               AdditionalDependencies="libxml2.lib glib-2.0.lib"
-               AdditionalLibraryDirectories="$(GlibEtcInstallRoot)\lib"
-       />
-       <UserMacro
-               Name="ApiVersion"
-               Value="@LIBCROCO_MAJOR_VERSION  @LIBCROCO_MINOR_VERSION@"
-       />
-       <UserMacro
-               Name="VSVer"
-               Value="9"
-       />
-       <UserMacro
-               Name="GlibEtcInstallRoot"
-               Value="$(SolutionDir)\..\..\..\..\vs$(VSVer)\$(PlatformName)"
-       />
-       <UserMacro
-               Name="DefDir"
-               Value="$(SolutionDir)$(ConfigurationName)\$(PlatformName)\obj\$(ProjectName)"
-       />
-       <UserMacro
-               Name="CopyConfigH"
-               Value="copy ..\..\..\config.h.win32 ..\..\..\config.h"
-       />
        <UserMacro
                Name="LibCrocoDoInstall"
                Value="
@@ -98,37 +66,4 @@ mkdir $(GlibEtcInstallRoot)\lib&#x0D;&#x0A;
 copy $(SolutionDir)$(ConfigurationName)\$(PlatformName)\bin\*-$(ApiVersion).lib 
$(GlibEtcInstallRoot)\lib&#x0D;&#x0A;
 "
        />
-       <UserMacro
-               Name="GenerateLibCrocoDef"
-               Value="
-echo EXPORTS &gt; $(DefDir)\libcroco.def&#x0D;&#x0A;
-cl  /EP ..\..\..\src\libcroco.symbols &gt;&gt; $(DefDir)\libcroco.def&#x0D;&#x0A;
-                         "
-       />
-       <UserMacro
-               Name="LibCrocoLibtoolCompatibleDllPrefix"
-               Value="lib"
-       />
-       <UserMacro
-               Name="LibCrocoLibtoolCompatibleDllSuffix"
-               Value="-$(ApiVersion)-0"
-       />
-       <UserMacro
-               Name="LibCrocoSeparateVSDllPrefix"
-               Value=""
-       />
-       <UserMacro
-               Name="LibCrocoSeparateVSDllSuffix"
-               Value="-$(ApiVersion)-vs$(VSVer)"
-       />
-       <!-- Change these two to LibCrocoLibtoolCompatibleDllPrefix and
-       LibCrocoLibtoolCompatibleDllSuffix if that is what you want -->
-       <UserMacro
-               Name="LibCrocoDllPrefix"
-               Value="$(LibCrocoSeparateVSDllPrefix)"
-       />
-       <UserMacro
-               Name="LibCrocoDllSuffix"
-               Value="$(LibCrocoSeparateVSDllSuffix)"
-       />
 </VisualStudioPropertySheet>
diff --git a/build/win32/vs9/croco-version-paths.vsprops.in b/build/win32/vs9/croco-version-paths.vsprops.in
new file mode 100644
index 0000000..dd6b3f1
--- /dev/null
+++ b/build/win32/vs9/croco-version-paths.vsprops.in
@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<!--
+This file is part of The Croco Library
+This program is free software; you can redistribute it and/or
+modify it under the terms of version 2.1 of the GNU Lesser General Public
+License as published by the Free Software Foundation.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU Lesser General Public License
+along with this program; if not, write to the Free Software
+Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
+USA
+
+Author: Fan, Chun-wei
+See COPYRIGHTS file for copyright information.
+-->
+<VisualStudioPropertySheet
+       ProjectType="Visual C++"
+       Version="8.00"
+       Name="crocoversionpathsprops"
+       >
+       <UserMacro
+               Name="ApiVersion"
+               Value="@LIBCROCO_MAJOR_VERSION  @LIBCROCO_MINOR_VERSION@"
+       />
+       <UserMacro
+               Name="VSVer"
+               Value="9"
+       />
+       <UserMacro
+               Name="GlibEtcInstallRoot"
+               Value="$(SolutionDir)\..\..\..\..\vs$(VSVer)\$(PlatformName)"
+       />
+       <UserMacro
+               Name="DefDir"
+               Value="$(SolutionDir)$(ConfigurationName)\$(PlatformName)\obj\$(ProjectName)"
+       />
+       <UserMacro
+               Name="LibCrocoLibtoolCompatibleDllPrefix"
+               Value="lib"
+       />
+       <UserMacro
+               Name="LibCrocoLibtoolCompatibleDllSuffix"
+               Value="-$(ApiVersion)-0"
+       />
+       <UserMacro
+               Name="LibCrocoSeparateVSDllPrefix"
+               Value=""
+       />
+       <UserMacro
+               Name="LibCrocoSeparateVSDllSuffix"
+               Value="-$(ApiVersion)-vs$(VSVer)"
+       />
+       <!-- Change these two to LibCrocoLibtoolCompatibleDllPrefix and
+       LibCrocoLibtoolCompatibleDllSuffix if that is what you want -->
+       <UserMacro
+               Name="LibCrocoDllPrefix"
+               Value="$(LibCrocoSeparateVSDllPrefix)"
+       />
+       <UserMacro
+               Name="LibCrocoDllSuffix"
+               Value="$(LibCrocoSeparateVSDllSuffix)"
+       />
+</VisualStudioPropertySheet>
diff --git a/build/win32/vs9/croco.vcprojin b/build/win32/vs9/croco.vcprojin
index 4435733..a3d0829 100644
--- a/build/win32/vs9/croco.vcprojin
+++ b/build/win32/vs9/croco.vcprojin
@@ -40,7 +40,7 @@ See COPYRIGHTS file for copyright information.
        <Configurations>
                <Configuration
                        Name="Debug|Win32"
-                       InheritedPropertySheets=".\libcroco.vsprops"
+                       InheritedPropertySheets=".\croco-gen-srcs.vsprops"
                        ConfigurationType="2"
                        CharacterSet="2"
                        >
@@ -73,7 +73,7 @@ See COPYRIGHTS file for copyright information.
                </Configuration>
                <Configuration
                        Name="Release|Win32"
-                       InheritedPropertySheets=".\libcroco.vsprops"
+                       InheritedPropertySheets=".\croco-gen-srcs.vsprops"
                        ConfigurationType="2"
                        CharacterSet="2"
                        WholeProgramOptimization="1"
@@ -109,7 +109,7 @@ See COPYRIGHTS file for copyright information.
                </Configuration>
                <Configuration
                        Name="Debug|x64"
-                       InheritedPropertySheets=".\libcroco.vsprops"
+                       InheritedPropertySheets=".\croco-gen-srcs.vsprops"
                        ConfigurationType="2"
                        CharacterSet="2"
                        >
@@ -146,7 +146,7 @@ See COPYRIGHTS file for copyright information.
                </Configuration>
                <Configuration
                        Name="Release|x64"
-                       InheritedPropertySheets=".\libcroco.vsprops"
+                       InheritedPropertySheets=".\croco-gen-srcs.vsprops"
                        ConfigurationType="2"
                        CharacterSet="2"
                        WholeProgramOptimization="1"
diff --git a/build/win32/vs9/csslint.vcproj b/build/win32/vs9/csslint.vcproj
index a377ffb..d0235d0 100644
--- a/build/win32/vs9/csslint.vcproj
+++ b/build/win32/vs9/csslint.vcproj
@@ -40,7 +40,7 @@ See COPYRIGHTS file for copyright information.
        <Configurations>
                <Configuration
                        Name="Debug|Win32"
-                       InheritedPropertySheets=".\libcroco.vsprops"
+                       InheritedPropertySheets=".\croco-build-defines.vsprops"
                        ConfigurationType="1"
                        CharacterSet="2"
                        >
@@ -70,7 +70,7 @@ See COPYRIGHTS file for copyright information.
                </Configuration>
                <Configuration
                        Name="Release|Win32"
-                       InheritedPropertySheets=".\libcroco.vsprops"
+                       InheritedPropertySheets=".\croco-build-defines.vsprops"
                        ConfigurationType="1"
                        CharacterSet="2"
                        WholeProgramOptimization="1"
@@ -103,7 +103,7 @@ See COPYRIGHTS file for copyright information.
                </Configuration>
                <Configuration
                        Name="Debug|x64"
-                       InheritedPropertySheets=".\libcroco.vsprops"
+                       InheritedPropertySheets=".\croco-build-defines.vsprops"
                        ConfigurationType="1"
                        CharacterSet="2"
                        >
@@ -137,7 +137,7 @@ See COPYRIGHTS file for copyright information.
                </Configuration>
                <Configuration
                        Name="Release|x64"
-                       InheritedPropertySheets=".\libcroco.vsprops"
+                       InheritedPropertySheets=".\croco-build-defines.vsprops"
                        ConfigurationType="1"
                        CharacterSet="2"
                        WholeProgramOptimization="1"
diff --git a/build/win32/vs9/install.vcproj b/build/win32/vs9/install.vcproj
index 0b7e11f..9fb8ef6 100644
--- a/build/win32/vs9/install.vcproj
+++ b/build/win32/vs9/install.vcproj
@@ -41,7 +41,7 @@ See COPYRIGHTS file for copyright information.
                        Name="Debug|Win32"
                        OutputDirectory="$(GlibEtcInstallRoot)"
                        ConfigurationType="10"
-                       InheritedPropertySheets=".\libcroco.vsprops"
+                       InheritedPropertySheets=".\croco-install.vsprops"
                        CharacterSet="2"
                        >
                        <Tool
@@ -52,7 +52,7 @@ See COPYRIGHTS file for copyright information.
                <Configuration
                        Name="Debug|x64"
                        OutputDirectory="$(GlibEtcInstallRoot)"
-                       InheritedPropertySheets=".\libcroco.vsprops"
+                       InheritedPropertySheets=".\croco-install.vsprops"
                        ConfigurationType="10"
                        CharacterSet="2"
                        DeleteExtensionsOnClean=""
@@ -66,7 +66,7 @@ See COPYRIGHTS file for copyright information.
                        Name="Release|Win32"
                        OutputDirectory="$(GlibEtcInstallRoot)"
                        ConfigurationType="10"
-                       InheritedPropertySheets=".\libcroco.vsprops"
+                       InheritedPropertySheets=".\croco-install.vsprops"
                        CharacterSet="2"
                        WholeProgramOptimization="1"
                        >
@@ -78,7 +78,7 @@ See COPYRIGHTS file for copyright information.
                <Configuration
                        Name="Release|x64"
                        OutputDirectory="$(GlibEtcInstallRoot)"
-                       InheritedPropertySheets=".\libcroco.vsprops"
+                       InheritedPropertySheets=".\croco-install.vsprops"
                        ConfigurationType="10"
                        CharacterSet="2"
                        WholeProgramOptimization="1"
diff --git a/configure.ac b/configure.ac
index 136e76d..871646e 100644
--- a/configure.ac
+++ b/configure.ac
@@ -147,9 +147,9 @@ config.h.win32
 build/Makefile
 build/win32/Makefile
 build/win32/vs9/Makefile
-build/win32/vs9/libcroco.vsprops
+build/win32/vs9/croco-version-paths.vsprops
 build/win32/vs10/Makefile
-build/win32/vs10/libcroco.props
+build/win32/vs10/croco-version-paths.props
 docs/Makefile
 docs/examples/Makefile
 docs/reference/Makefile



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]