﻿<?xml version="1.0" encoding="utf-8"?>
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements.  See the NOTICE file
distributed with this work for additional information
regarding copyright ownership.  The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License.  You may obtain a copy of the License at

  http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied.  See the License for the
specific language governing permissions and limitations
under the License.
-->
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0">
  <PropertyGroup>
    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
    <ProductVersion>9.0.21022</ProductVersion>
    <SchemaVersion>2.0</SchemaVersion>
    <ProjectGuid>{5E1E5956-2AC0-4134-BA91-CE3A13268432}</ProjectGuid>
    <OutputType>Library</OutputType>
    <RootNamespace>Apache.NMS.AMQP</RootNamespace>
    <AssemblyName>Apache.NMS.AMQP</AssemblyName>
    <WarningLevel>4</WarningLevel>
    <StartupObject>
    </StartupObject>
    <SignAssembly>true</SignAssembly>
    <AssemblyOriginatorKeyFile>keyfile\NMSKey.snk</AssemblyOriginatorKeyFile>
    <FileUpgradeFlags>
    </FileUpgradeFlags>
    <OldToolsVersion>3.5</OldToolsVersion>
    <UpgradeBackupLocation>
    </UpgradeBackupLocation>
    <IsWebBootstrapper>false</IsWebBootstrapper>
    <SccProjectName>
    </SccProjectName>
    <SccLocalPath>
    </SccLocalPath>
    <SccAuxPath>
    </SccAuxPath>
    <SccProvider>
    </SccProvider>
    <RunPostBuildEvent>OnOutputUpdated</RunPostBuildEvent>
    <TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
    <TargetFrameworkProfile />
    <PublishUrl>publish\</PublishUrl>
    <Install>true</Install>
    <InstallFrom>Disk</InstallFrom>
    <UpdateEnabled>false</UpdateEnabled>
    <UpdateMode>Foreground</UpdateMode>
    <UpdateInterval>7</UpdateInterval>
    <UpdateIntervalUnits>Days</UpdateIntervalUnits>
    <UpdatePeriodically>false</UpdatePeriodically>
    <UpdateRequired>false</UpdateRequired>
    <MapFileExtensions>true</MapFileExtensions>
    <ApplicationRevision>0</ApplicationRevision>
    <ApplicationVersion>1.0.0.%2a</ApplicationVersion>
    <UseApplicationTrust>false</UseApplicationTrust>
    <BootstrapperEnabled>true</BootstrapperEnabled>
  </PropertyGroup>
  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
    <DebugSymbols>true</DebugSymbols>
    <DebugType>full</DebugType>
    <Optimize>false</Optimize>
    <OutputPath>build\net-4.0\debug\</OutputPath>
    <DefineConstants>TRACE;DEBUG;NET,NET_4_0</DefineConstants>
    <AllowUnsafeBlocks>false</AllowUnsafeBlocks>
    <PlatformTarget>x86</PlatformTarget>
  </PropertyGroup>
  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
    <DebugSymbols>true</DebugSymbols>
    <Optimize>true</Optimize>
    <OutputPath>build\net-4.0\release\</OutputPath>
    <DefineConstants>TRACE;NET,NET_4_0</DefineConstants>
    <AllowUnsafeBlocks>false</AllowUnsafeBlocks>
    <DebugType>full</DebugType>
    <PlatformTarget>x86</PlatformTarget>
  </PropertyGroup>
  <ItemGroup>
    <Reference Include="Apache.NMS">
      <HintPath>lib\Apache.NMS\net-4.0\Apache.NMS.dll</HintPath>
    </Reference>
    <Reference Include="org.apache.qpid.messaging">
      <HintPath>lib\Apache.Qpid\net-4.0\org.apache.qpid.messaging.dll</HintPath>
    </Reference>
    <Reference Include="System" />
    <Reference Include="System.Data" />
    <Reference Include="System.Xml" />
  </ItemGroup>
  <ItemGroup>
    <Compile Include="src\main\csharp\ConnectionClosedException.cs" />
    <Compile Include="src\main\csharp\DefaultMessageConverter.cs" />
    <Compile Include="src\main\csharp\IMessageConverter.cs" />
    <Compile Include="src\main\csharp\BaseMessage.cs" />
    <Compile Include="src\main\csharp\BytesMessage.cs" />
    <Compile Include="src\main\csharp\CommonAssemblyInfo.cs" />
    <Compile Include="src\main\csharp\Connection.cs" />
    <Compile Include="src\main\csharp\ConnectionFactory.cs" />
    <Compile Include="src\main\csharp\ConnectionMetaData.cs" />
    <Compile Include="src\main\csharp\Destination.cs" />
    <Compile Include="src\main\csharp\MapMessage.cs" />
    <Compile Include="src\main\csharp\MessageConsumer.cs" />
    <Compile Include="src\main\csharp\MessageProducer.cs" />
    <Compile Include="src\main\csharp\ObjectMessage.cs" />
    <Compile Include="src\main\csharp\Queue.cs" />
    <Compile Include="src\main\csharp\Session.cs" />
    <Compile Include="src\main\csharp\SessionClosedException.cs" />
    <Compile Include="src\main\csharp\StreamMessage.cs" />
    <Compile Include="src\main\csharp\TextMessage.cs" />
    <Compile Include="src\main\csharp\Topic.cs" />
  </ItemGroup>
  <ItemGroup>
    <None Include="keyfile\NMSKey.snk" />
  </ItemGroup>
  <ItemGroup>
    <BootstrapperPackage Include="Microsoft.Net.Client.3.5">
      <Visible>False</Visible>
      <ProductName>.NET Framework 3.5 SP1 Client Profile</ProductName>
      <Install>false</Install>
    </BootstrapperPackage>
    <BootstrapperPackage Include="Microsoft.Net.Framework.2.0">
      <Visible>False</Visible>
      <ProductName>.NET Framework 2.0 %28x86%29</ProductName>
      <Install>true</Install>
    </BootstrapperPackage>
    <BootstrapperPackage Include="Microsoft.Net.Framework.3.0">
      <Visible>False</Visible>
      <ProductName>.NET Framework 3.0 %28x86%29</ProductName>
      <Install>false</Install>
    </BootstrapperPackage>
    <BootstrapperPackage Include="Microsoft.Net.Framework.3.5">
      <Visible>False</Visible>
      <ProductName>.NET Framework 3.5</ProductName>
      <Install>false</Install>
    </BootstrapperPackage>
    <BootstrapperPackage Include="Microsoft.Net.Framework.3.5.SP1">
      <Visible>False</Visible>
      <ProductName>.NET Framework 3.5 SP1</ProductName>
      <Install>false</Install>
    </BootstrapperPackage>
  </ItemGroup>
  <Import Project="$(MSBuildBinPath)\Microsoft.CSHARP.Targets" />
  <PropertyGroup>
    <PreBuildEvent>cd $(ProjectDir)
nant -nologo download-vendor -D:vendor.build.config=$(ConfigurationName) -D:vendor.build.framework=net-4.0</PreBuildEvent>
    <PostBuildEvent>cd $(ProjectDir)
nant -nologo -q install-all -D:compile.skip=true</PostBuildEvent>
  </PropertyGroup>
</Project>