[tasque/xbuild] [build] Switch libtasque build to xbuild



commit f433070253669fb76811a73fcb9d13f50049d437
Author: Antonius Riha <antoniusriha gmail com>
Date:   Tue Sep 4 15:43:34 2012 +0200

    [build] Switch libtasque build to xbuild
    
    * Created common xbuild file build/Tasque/CSharp.targets, which will
    be imported in all csproj files instead of Microsoft.CSharp.targets.
    
    * Cleaned up libtasque.csproj:
    	- Updated ProductVersion number
    	- Removed code files header policy (should be inherited).
    	- Updated ref to Mono.Posix (which is in gac)
    
    Other changes are pretty straight forward and along th lines of previous
    data and po xbuild transitions.

 .gitignore                     |    3 +
 build/Tasque.CSharp.targets    |   55 +++++++++++++++++++++++++++
 configure.ac                   |    9 ++++
 src/libtasque/Makefile.am      |   55 ---------------------------
 src/libtasque/Makefile.in      |   43 +++++++++++++++++++++
 src/libtasque/libtasque.csproj |   82 +++++++++++++++-------------------------
 6 files changed, 141 insertions(+), 106 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index 326bbd3..9776374 100644
--- a/.gitignore
+++ b/.gitignore
@@ -83,6 +83,9 @@ Makefile.in
 # /src/libtasque/
 /src/libtasque/*.dll
 /src/libtasque/*.mdb
+/src/libtasque/libtasque.csp
+/src/libtasque/obj/
+!/src/libtasque/Makefile.in
 
 # /src/tasque/
 /src/tasque/*.exe
diff --git a/build/Tasque.CSharp.targets b/build/Tasque.CSharp.targets
new file mode 100644
index 0000000..62d8911
--- /dev/null
+++ b/build/Tasque.CSharp.targets
@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" InitialTargets="_CheckProperties" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003";>
+  <PropertyGroup>
+  	<_tmpInstallFileNames>obj\Tasque.RelInstallFileNames.txt</_tmpInstallFileNames>
+    <OutputPath>.</OutputPath>
+    <SrcDir Condition=" '$(SrcDir)' == '' ">.</SrcDir>
+    <LibDir Condition=" '$(LibDir)' == '' ">$(Prefix)\lib\tasque</LibDir>
+    <DestDir Condition=" '$(DestDir)' != '' And !HasTrailingSlash('$(DestDir)')">$(DestDir)\</DestDir>
+  </PropertyGroup>
+  <ItemGroup>
+    <InstallFileName Include="$(TargetFileName)" />
+  </ItemGroup>
+  <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
+  <Target Name="_CheckProperties">
+    <Message Text="SrcDir=$(SrcDir)" />
+    <Message Text="Prefix=$(Prefix)" />
+    <Message Text="LibDir=$(LibDir)" />
+    <Message Text="DestDir=$(DestDir)" />
+    <Error Condition=" '$(Prefix)' == '' " Text="Prefix is not set." />
+  </Target>
+  <Target Name="BeforeBuild">
+    <CreateItem Include="$(SrcDir)\%(TasqueCompile.RelativeDir)%(FileName)%(Extension)">
+      <Output TaskParameter="Include" ItemName="Compile" />
+    </CreateItem>
+  </Target>
+  <Target Name="Install">
+    <CreateItem Condition="Exists('$(TargetFileName).mdb')" Include="$(TargetFileName).mdb">
+      <Output TaskParameter="Include" ItemName="InstallFileName" />
+    </CreateItem>
+    <Copy SourceFiles="@(InstallFileName)" DestinationFiles="$(DestDir)$(LibDir)\%(RelativeDir)%(FileName)%(Extension)" SkipUnchangedFiles="true" />
+    <WriteLinesToFile File="$(_tmpInstallFileNames)" Lines="@(InstallFileName)" Overwrite="true" />
+  </Target>
+  <Target Name="Uninstall">
+    <ReadLinesFromFile File="$(_tmpInstallFileNames)" >
+      <Output TaskParameter="Lines" ItemName="InstallFileName" />
+    </ReadLinesFromFile>
+    <Delete Files="$(DestDir)$(LibDir)\%(InstallFileName.RelativeDir)%(FileName)%(Extension)" />
+    <Delete Files="$(_tmpInstallFileNames)" />
+  </Target>
+  <Target Name="Dist">
+    <Message Text="DistDir=$(DistDir)" />
+    <Error Condition=" '$(DistDir)' == '' " Text="Property DistDir not set. Target Dist requires DistDir to be set." />
+    <CreateItem Include="*.csproj;@(TasqueCompile)">
+      <Output TaskParameter="Include" ItemName="DistFile" />
+    </CreateItem>
+    <Message Text="@(DistFile)" />
+    <Copy SourceFiles="$(SrcDir)\%(DistFile.RelativeDir)%(FileName)%(Extension)" DestinationFiles="$(DistDir)\%(DistFile.RelativeDir)%(FileName)%(Extension)" SkipUnchangedFiles="true" />
+  </Target>
+  <Target Name="DistClean" DependsOnTargets="Clean">
+    <CreateItem Include="Makefile;*.csp">
+      <Output TaskParameter="Include" ItemName="DistCleanFile" />
+    </CreateItem>
+    <Delete Files="%(DistCleanFile.RelativeDir)%(FileName)%(Extension)" />
+  </Target>
+</Project>
diff --git a/configure.ac b/configure.ac
index 3ab0a12..53e7a74 100644
--- a/configure.ac
+++ b/configure.ac
@@ -94,6 +94,7 @@ AM_CONDITIONAL(ENABLE_APPINDICATOR, test "x$appindicator" != "xno")
 AC_ARG_ENABLE(debug, AC_HELP_STRING([--enable-debug], [Use 'Debug' Configuration [default=no]]),
 	enable_debug=$enableval, enable_debug=no)
 AM_CONDITIONAL(ENABLE_DEBUG, test "x$enable_debug" != "xno")
+AC_SUBST(enable_debug)
 
 
 #
@@ -273,11 +274,19 @@ AC_SUBST(POMDPROJ)
 DATAMDPROJ=data.mdp
 AC_SUBST(DATAMDPROJ)
 
+#
+# Setup libtasque.csproj
+#
+LIBTASQUECSPROJ=libtasque.csp
+AC_SUBST(LIBTASQUECSPROJ)
+
 AC_CONFIG_FILES([
 Makefile
+build/Tasque.CSharp.targets:build/Tasque.CSharp.targets
 src/Makefile
 src/Libraries/RtmNet/Makefile
 src/libtasque/Makefile
+src/libtasque/${LIBTASQUECSPROJ}:src/libtasque/libtasque.csproj
 src/Gtk.Tasque/Makefile
 src/tasque/Makefile
 src/tasque/tasque.pc
diff --git a/src/libtasque/Makefile.in b/src/libtasque/Makefile.in
new file mode 100644
index 0000000..c388e3e
--- /dev/null
+++ b/src/libtasque/Makefile.in
@@ -0,0 +1,43 @@
+PACKAGE = @PACKAGE@
+VERSION = @VERSION@
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+
+prefix = @prefix@
+exec_prefix = @exec_prefix@
+libdir = @libdir@/tasque
+
+XBUILD = @XBUILD@
+
+LIBTASQUECSPROJ = @LIBTASQUECSPROJ@
+
+conf=$(shell if test "x enable_debug@" != "xno" ; then echo "Debug" ; else echo "Release" ; fi)
+
+PROPERTIES = \
+	/property:Configuration=$(conf) \
+	/property:SrcDir=$(srcdir) \
+	/property:Prefix=$(prefix) \
+	/property:LibDir=$(libdir) \
+	/property:DestDir=$(DESTDIR) \
+	/property:DistDir=../../$(PACKAGE)-$(VERSION)/src/libtasque
+
+all:
+	$(XBUILD) $(PROPERTIES) $(LIBTASQUECSPROJ)
+
+clean:
+	$(XBUILD) $(PROPERTIES) /target:clean $(LIBTASQUECSPROJ)
+
+install:
+	$(XBUILD) $(PROPERTIES) /target:install $(LIBTASQUECSPROJ)
+
+uninstall:
+	$(XBUILD) $(PROPERTIES) /target:uninstall $(LIBTASQUECSPROJ)
+
+dist distdir:
+	$(XBUILD) $(PROPERTIES) /target:dist $(LIBTASQUECSPROJ)
+
+distclean:
+	$(XBUILD) $(PROPERTIES) /target:distclean $(LIBTASQUECSPROJ)
+
+dvi installcheck check:
diff --git a/src/libtasque/libtasque.csproj b/src/libtasque/libtasque.csproj
index 6b602ca..4558ea7 100644
--- a/src/libtasque/libtasque.csproj
+++ b/src/libtasque/libtasque.csproj
@@ -3,85 +3,65 @@
   <PropertyGroup>
     <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
     <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
-    <ProductVersion>9.0.21022</ProductVersion>
+    <ProductVersion>10.0.0</ProductVersion>
     <SchemaVersion>2.0</SchemaVersion>
     <ProjectGuid>{784C9AA8-2B28-400B-8CC4-DCDC48CA37F0}</ProjectGuid>
     <OutputType>Library</OutputType>
     <RootNamespace>Tasque</RootNamespace>
     <AssemblyName>libtasque</AssemblyName>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+    <Prefix Condition=" '$(Prefix)' == '' ">..\..\build\bin</Prefix>
   </PropertyGroup>
   <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
     <DebugSymbols>true</DebugSymbols>
     <DebugType>full</DebugType>
     <Optimize>false</Optimize>
-    <OutputPath>bin\Debug</OutputPath>
     <DefineConstants>DEBUG;TRACE</DefineConstants>
-    <ErrorReport>prompt</ErrorReport>
-    <WarningLevel>4</WarningLevel>
-    <CustomCommands>
-      <CustomCommands>
-        <Command type="Build" command="echo &quot;&quot;" />
-      </CustomCommands>
-    </CustomCommands>
   </PropertyGroup>
   <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
     <DebugType>none</DebugType>
     <Optimize>true</Optimize>
-    <OutputPath>bin\Release</OutputPath>
-    <ErrorReport>prompt</ErrorReport>
-    <WarningLevel>4</WarningLevel>
     <DefineConstants>TRACE</DefineConstants>
   </PropertyGroup>
-  <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
+  <Import Project="..\..\build\Tasque.CSharp.targets" />
   <ItemGroup>
     <Reference Include="gtk-sharp, Version=2.12.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f">
       <Package>gtk-sharp-2.0</Package>
     </Reference>
     <Reference Include="System" />
     <Reference Include="System.Core" />
-    <Reference Include="Mono.Posix">
-      <HintPath>..\..\winbin\Mono.Posix.dll</HintPath>
-    </Reference>
+    <Reference Include="Mono.Posix" />
   </ItemGroup>
   <ItemGroup>
-    <Compile Include="IBackend.cs" />
-    <Compile Include="ICategory.cs" />
-    <Compile Include="INote.cs" />
-    <Compile Include="ITask.cs" />
-    <Compile Include="TaskPriority.cs" />
-    <Compile Include="TaskState.cs" />
-    <Compile Include="TaskParser.cs" />
-    <Compile Include="DateFormatterFactory.cs" />
-    <Compile Include="DateFormatters\IDateFormatter.cs" />
-    <Compile Include="DateFormatters\WeekdayFormatter.cs" />
-    <Compile Include="DateFormatters\OrdinalFormatter.cs" />
-    <Compile Include="DateFormatters\WeekFormatter.cs" />
-    <Compile Include="DateFormatters\StringInsensitiveComparer.cs" />
-    <Compile Include="DateFormatters\QuantityFormatter.cs" />
-    <Compile Include="DateFormatters\YearFormatter.cs" />
-    <Compile Include="DateFormatters\DateFormatter.cs" />
-    <Compile Include="DateFormatters\MonthFormatter.cs" />
-    <Compile Include="DateFormatters\TodayTomorrowFormatter.cs" />
-    <Compile Include="RegularExpressionFormatter.cs" />
-    <Compile Include="TranslatableToken.cs" />
-    <Compile Include="Extensions.cs" />
-    <Compile Include="DateFormatters\DayFormatter.cs" />
-    <Compile Include="DateFormatters\DateSeparatedFormatter.cs" />
-    <Compile Include="INativeApplication.cs" />
-    <Compile Include="Properties\AssemblyInfo.cs" />
+    <TasqueCompile Include="IBackend.cs" />
+    <TasqueCompile Include="ICategory.cs" />
+    <TasqueCompile Include="INote.cs" />
+    <TasqueCompile Include="ITask.cs" />
+    <TasqueCompile Include="TaskPriority.cs" />
+    <TasqueCompile Include="TaskState.cs" />
+    <TasqueCompile Include="TaskParser.cs" />
+    <TasqueCompile Include="DateFormatterFactory.cs" />
+    <TasqueCompile Include="DateFormatters\IDateFormatter.cs" />
+    <TasqueCompile Include="DateFormatters\WeekdayFormatter.cs" />
+    <TasqueCompile Include="DateFormatters\OrdinalFormatter.cs" />
+    <TasqueCompile Include="DateFormatters\WeekFormatter.cs" />
+    <TasqueCompile Include="DateFormatters\StringInsensitiveComparer.cs" />
+    <TasqueCompile Include="DateFormatters\QuantityFormatter.cs" />
+    <TasqueCompile Include="DateFormatters\YearFormatter.cs" />
+    <TasqueCompile Include="DateFormatters\DateFormatter.cs" />
+    <TasqueCompile Include="DateFormatters\MonthFormatter.cs" />
+    <TasqueCompile Include="DateFormatters\TodayTomorrowFormatter.cs" />
+    <TasqueCompile Include="RegularExpressionFormatter.cs" />
+    <TasqueCompile Include="TranslatableToken.cs" />
+    <TasqueCompile Include="Extensions.cs" />
+    <TasqueCompile Include="DateFormatters\DayFormatter.cs" />
+    <TasqueCompile Include="DateFormatters\DateSeparatedFormatter.cs" />
+    <TasqueCompile Include="INativeApplication.cs" />
+    <TasqueCompile Include="Properties\AssemblyInfo.cs" />
   </ItemGroup>
   <ItemGroup>
     <Folder Include="DateFormatters\" />
     <Folder Include="Properties\" />
   </ItemGroup>
-  <ProjectExtensions>
-    <MonoDevelop>
-      <Properties>
-        <Policies>
-          <DotNetNamingPolicy DirectoryNamespaceAssociation="PrefixedHierarchical" ResourceNamePolicy="MSBuild" />
-          <StandardHeader Text="Author:&#xA;      ${AuthorName} &lt;${AuthorEmail}&gt;&#xA;&#xA;Copyright (c) ${Year} ${CopyrightHolder}&#xA;&#xA;Permission is hereby granted, free of charge, to any person obtaining a copy&#xA;of this software and associated documentation files (the &quot;Software&quot;), to deal&#xA;in the Software without restriction, including without limitation the rights&#xA;to use, copy, modify, merge, publish, distribute, sublicense, and/or sell&#xA;copies of the Software, and to permit persons to whom the Software is&#xA;furnished to do so, subject to the following conditions:&#xA;&#xA;The above copyright notice and this permission notice shall be included in&#xA;all copies or substantial portions of the Software.&#xA;&#xA;THE SOFTWARE IS PROVIDED &quot;AS IS&quot;, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR&#xA;IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,&#xA;FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT
  SHALL THE&#xA;AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER&#xA;LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,&#xA;OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN&#xA;THE SOFTWARE." IncludeInNewFiles="True" />
-        </Policies>
-      </Properties>
-    </MonoDevelop>
-  </ProjectExtensions>
 </Project>



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