[json-glib] Visual C++ Builds: Use Custom Build Rules
- From: Chun-wei Fan <fanchunwei src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [json-glib] Visual C++ Builds: Use Custom Build Rules
- Date: Fri, 30 Aug 2013 08:41:50 +0000 (UTC)
commit 17dbdd5cce26f257a522ba0c218a05753e1fa3b1
Author: Chun-wei Fan <fanchunwei src gnome org>
Date: Fri Aug 30 16:41:41 2013 +0800
Visual C++ Builds: Use Custom Build Rules
...so that the json-glib.def file can be regenerated as automatically
when the json-glib.symbols file is updated, and the json-glib.def can be
automatically deleted on a "clean" request.
Also drop some unneeded items from the property sheets.
build/win32/vs10/json-glib.props | 8 +---
build/win32/vs10/json-glib.vcxproj.filtersin | 3 ++
build/win32/vs10/json-glib.vcxprojin | 28 ++++++++------
build/win32/vs9/json-glib.vcprojin | 50 +++++++++++++++++--------
build/win32/vs9/json-glib.vsprops | 10 ++----
5 files changed, 58 insertions(+), 41 deletions(-)
---
diff --git a/build/win32/vs10/json-glib.props b/build/win32/vs10/json-glib.props
index 1efcc9f..ccc0836 100644
--- a/build/win32/vs10/json-glib.props
+++ b/build/win32/vs10/json-glib.props
@@ -2,8 +2,7 @@
<Project DefaultTargets="Build" ToolsVersion="4.0"
xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup Label="UserMacros">
<VSVer>10</VSVer>
- <GlibEtcInstallRoot>..\..\..\..\vs$(VSVer)\$(Platform)</GlibEtcInstallRoot>
- <GlibEtcInstallRootFromBuildWin32>..\..\..\vs$(VSVer)\$(Platform)</GlibEtcInstallRootFromBuildWin32>
+ <GlibEtcInstallRoot>$(SolutionDir)\..\..\..\..\vs$(VSVer)\$(Platform)</GlibEtcInstallRoot>
<CopyDir>$(GlibEtcInstallRoot)</CopyDir>
<DefDir>$(SolutionDir)$(Configuration)\$(PlatformName)\obj\$(ProjectName)\</DefDir>
<ApiVersion>1.0</ApiVersion>
@@ -64,7 +63,7 @@ copy ..\..\..\json-glib\json-types.h $(CopyDir)\include\json-glib-$(ApiVersion)\
set VSVER=$(VSVer)
set CONF=$(Configuration)
set PLAT=$(Platform)
-set BASEDIR=$(GlibEtcInstallRootFromBuildWin32)
+set BASEDIR=$(GlibEtcInstallRoot)
cd ..
call gengir_jsonglib.bat
@@ -105,9 +104,6 @@ cl /EP ..\..\..\json-glib\json-glib.symbols >>$(DefDir)\json-glib.def
<BuildMacro Include="GlibEtcInstallRoot">
<Value>$(GlibEtcInstallRoot)</Value>
</BuildMacro>
- <BuildMacro Include="GlibEtcInstallRootFromBuildWin32">
- <Value>$(GlibEtcInstallRootFromBuildWin32)</Value>
- </BuildMacro>
<BuildMacro Include="CopyDir">
<Value>$(CopyDir)</Value>
</BuildMacro>
diff --git a/build/win32/vs10/json-glib.vcxproj.filtersin b/build/win32/vs10/json-glib.vcxproj.filtersin
index 84f08cf..7f73a38 100644
--- a/build/win32/vs10/json-glib.vcxproj.filtersin
+++ b/build/win32/vs10/json-glib.vcxproj.filtersin
@@ -17,4 +17,7 @@
<ItemGroup>
#include "jsonglib.vs10.sourcefiles.filters"
</ItemGroup>
+ <ItemGroup>
+ <CustomBuild Include="..\..\..\json-glib\json-glib.symbols"><Filter>Resource Files</Filter></CustomBuild>
+ </ItemGroup>
</Project>
\ No newline at end of file
diff --git a/build/win32/vs10/json-glib.vcxprojin b/build/win32/vs10/json-glib.vcxprojin
index c5e7c71..1039462 100644
--- a/build/win32/vs10/json-glib.vcxprojin
+++ b/build/win32/vs10/json-glib.vcxprojin
@@ -84,9 +84,6 @@
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
<ForcedIncludeFiles>%(ForcedIncludeFiles)</ForcedIncludeFiles>
</ClCompile>
- <PreLinkEvent>
- <Command>$(JsonGlibGenerateDef)</Command>
- </PreLinkEvent>
<Link>
<OutputFile>$(OutDir)$(JsonGlibDllPrefix)$(ProjectName)$(JsonGlibDllSuffix).dll</OutputFile>
<ModuleDefinitionFile>$(IntDir)\json-glib.def</ModuleDefinitionFile>
@@ -111,9 +108,6 @@
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
</ClCompile>
- <PreLinkEvent>
- <Command>$(JsonGlibGenerateDef)</Command>
- </PreLinkEvent>
<Link>
<AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>$(OutDir)$(JsonGlibDllPrefix)$(ProjectName)$(JsonGlibDllSuffix).dll</OutputFile>
@@ -141,9 +135,6 @@
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<ForcedIncludeFiles>%(ForcedIncludeFiles)</ForcedIncludeFiles>
</ClCompile>
- <PreLinkEvent>
- <Command>$(JsonGlibGenerateDef)</Command>
- </PreLinkEvent>
<Link>
<OutputFile>$(OutDir)$(JsonGlibDllPrefix)$(ProjectName)$(JsonGlibDllSuffix).dll</OutputFile>
<ModuleDefinitionFile>$(IntDir)\json-glib.def</ModuleDefinitionFile>
@@ -167,9 +158,6 @@
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
</ClCompile>
- <PreLinkEvent>
- <Command>$(JsonGlibGenerateDef)</Command>
- </PreLinkEvent>
<Link>
<AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>$(OutDir)$(JsonGlibDllPrefix)$(ProjectName)$(JsonGlibDllSuffix).dll</OutputFile>
@@ -185,6 +173,22 @@
<ItemGroup>
#include "jsonglib.vs10.sourcefiles"
</ItemGroup>
+ <ItemGroup>
+ <CustomBuild Include="..\..\..\json-glib\json-glib.symbols">
+ <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Generating
json-glib.def...</Message>
+ <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(JsonGlibGenerateDef)</Command>
+ <Outputs
Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(IntDir)json-glib.def;%(Outputs)</Outputs>
+ <Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Generating json-glib.def...</Message>
+ <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(JsonGlibGenerateDef)</Command>
+ <Outputs
Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(IntDir)json-glib.def;%(Outputs)</Outputs>
+ <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Generating
json-glib.def...</Message>
+ <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(JsonGlibGenerateDef)</Command>
+ <Outputs
Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(IntDir)json-glib.def;%(Outputs)</Outputs>
+ <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Generating
json-glib.def...</Message>
+ <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(JsonGlibGenerateDef)</Command>
+ <Outputs
Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(IntDir)json-glib.def;%(Outputs)</Outputs>
+ </CustomBuild>
+ </ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
diff --git a/build/win32/vs9/json-glib.vcprojin b/build/win32/vs9/json-glib.vcprojin
index 2ab1537..597b681 100644
--- a/build/win32/vs9/json-glib.vcprojin
+++ b/build/win32/vs9/json-glib.vcprojin
@@ -43,10 +43,6 @@
ForcedIncludeFiles=""
/>
<Tool
- Name="VCPreLinkEventTool"
- CommandLine="$(JsonGlibGenerateDef)"
- />
- <Tool
Name="VCLinkerTool"
OutputFile="$(OutDir)\$(JsonGlibDllPrefix)$(ProjectName)$(JsonGlibDllSuffix).dll"
LinkIncremental="2"
@@ -79,10 +75,6 @@
DebugInformationFormat="3"
/>
<Tool
- Name="VCPreLinkEventTool"
- CommandLine="$(JsonGlibGenerateDef)"
- />
- <Tool
Name="VCLinkerTool"
AdditionalDependencies=""
OutputFile="$(OutDir)\$(JsonGlibDllPrefix)$(ProjectName)$(JsonGlibDllSuffix).dll"
@@ -119,10 +111,6 @@
ForcedIncludeFiles=""
/>
<Tool
- Name="VCPreLinkEventTool"
- CommandLine="$(JsonGlibGenerateDef)"
- />
- <Tool
Name="VCLinkerTool"
OutputFile="$(OutDir)\$(JsonGlibDllPrefix)$(ProjectName)$(JsonGlibDllSuffix).dll"
LinkIncremental="1"
@@ -154,10 +142,6 @@
DebugInformationFormat="3"
/>
<Tool
- Name="VCPreLinkEventTool"
- CommandLine="$(JsonGlibGenerateDef)"
- />
- <Tool
Name="VCLinkerTool"
AdditionalDependencies=""
OutputFile="$(OutDir)\$(JsonGlibDllPrefix)$(ProjectName)$(JsonGlibDllSuffix).dll"
@@ -193,6 +177,40 @@
Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
>
+ <File RelativePath="..\..\..\json-glib\json-glib.symbols">
+ <FileConfiguration Name="Debug|Win32">
+ <Tool
+ Name="VCCustomBuildTool"
+ Description="Generating json-glib.def..."
+ CommandLine="$(JsonGlibGenerateDef)"
+ Outputs="$(IntDir)\json-glib.def"
+ />
+ </FileConfiguration>
+ <FileConfiguration Name="Release|Win32">
+ <Tool
+ Name="VCCustomBuildTool"
+ Description="Generating json-glib.def..."
+ CommandLine="$(JsonGlibGenerateDef)"
+ Outputs="$(IntDir)\json-glib.def"
+ />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug|x64">
+ <Tool
+ Name="VCCustomBuildTool"
+ Description="Generating json-glib.def..."
+ CommandLine="$(JsonGlibGenerateDef)"
+ Outputs="$(IntDir)\json-glib.def"
+ />
+ </FileConfiguration>
+ <FileConfiguration Name="Release|x64">
+ <Tool
+ Name="VCCustomBuildTool"
+ Description="Generating json-glib.def..."
+ CommandLine="$(JsonGlibGenerateDef)"
+ Outputs="$(IntDir)\json-glib.def"
+ />
+ </FileConfiguration>
+ </File>
</Filter>
</Files>
<Globals>
diff --git a/build/win32/vs9/json-glib.vsprops b/build/win32/vs9/json-glib.vsprops
index 355c682..52dc104 100644
--- a/build/win32/vs9/json-glib.vsprops
+++ b/build/win32/vs9/json-glib.vsprops
@@ -23,11 +23,7 @@
/>
<UserMacro
Name="GlibEtcInstallRoot"
- Value="..\..\..\..\vs$(VSVer)\$(PlatformName)"
- />
- <UserMacro
- Name="GlibEtcInstallRootFromBuildWin32"
- Value="..\..\..\vs$(VSVer)\$(PlatformName)"
+ Value="$(SolutionDir)\..\..\..\..\vs$(VSVer)\$(PlatformName)"
/>
<UserMacro
Name="CopyDir"
@@ -43,7 +39,7 @@
if exist ..\..\..\config.h goto DONE_CONFIG_H

copy ..\config.h.win32 ..\..\..\config.h

:DONE_CONFIG_H

-"
+ "
/>
<UserMacro
Name="ApiVersion"
@@ -84,7 +80,7 @@ copy ..\..\..\json-glib\json-types.h $(CopyDir)\include\json-glib-$(ApiVersion)\
set VSVER=$(VSVer)

set CONF=$(ConfigurationName)

set PLAT=$(PlatformName)

-set BASEDIR=$(GlibEtcInstallRootFromBuildWin32)

+set BASEDIR=$(GlibEtcInstallRoot)

cd ..

call gengir_jsonglib.bat

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