<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <Import Project="..\common.init.vcxproj" />
  <Import Project="..\common.qt.init.vcxproj" />
  <PropertyGroup Label="Globals">
    <ProjectGuid>{2B4ABFF8-D1FD-4845-88C9-1F3C0A6512BF}</ProjectGuid>
    <ConfigurationType>StaticLibrary</ConfigurationType>
  </PropertyGroup>
  <ItemGroup>
    <ClCompile Include="..\..\src\qt\addressbookpage.cpp" />
    <ClCompile Include="..\..\src\qt\addresstablemodel.cpp" />
    <ClCompile Include="..\..\src\qt\askpassphrasedialog.cpp" />
    <ClCompile Include="..\..\src\qt\bantablemodel.cpp" />
    <ClCompile Include="..\..\src\qt\bitcoin.cpp" />
    <ClCompile Include="..\..\src\qt\bitcoinaddressvalidator.cpp" />
    <ClCompile Include="..\..\src\qt\bitcoinamountfield.cpp" />
    <ClCompile Include="..\..\src\qt\bitcoingui.cpp" />
    <ClCompile Include="..\..\src\qt\bitcoinstrings.cpp" />
    <ClCompile Include="..\..\src\qt\bitcoinunits.cpp" />
    <ClCompile Include="..\..\src\qt\clientmodel.cpp" />
    <ClCompile Include="..\..\src\qt\coincontroldialog.cpp" />
    <ClCompile Include="..\..\src\qt\coincontroltreewidget.cpp" />
    <ClCompile Include="..\..\src\qt\createwalletdialog.cpp" />
    <ClCompile Include="..\..\src\qt\csvmodelwriter.cpp" />
    <ClCompile Include="..\..\src\qt\editaddressdialog.cpp" />
    <ClCompile Include="..\..\src\qt\guiutil.cpp" />
    <ClCompile Include="..\..\src\qt\intro.cpp" />
    <ClCompile Include="..\..\src\qt\modaloverlay.cpp" />
    <ClCompile Include="..\..\src\qt\networkstyle.cpp" />
    <ClCompile Include="..\..\src\qt\notificator.cpp" />
    <ClCompile Include="..\..\src\qt\openuridialog.cpp" />
    <ClCompile Include="..\..\src\qt\optionsdialog.cpp" />
    <ClCompile Include="..\..\src\qt\optionsmodel.cpp" />
    <ClCompile Include="..\..\src\qt\overviewpage.cpp" />
    <ClCompile Include="..\..\src\qt\paymentserver.cpp" />
    <ClCompile Include="..\..\src\qt\peertablemodel.cpp" />
    <ClCompile Include="..\..\src\qt\platformstyle.cpp" />
    <ClCompile Include="..\..\src\qt\psbtoperationsdialog.cpp" />
    <ClCompile Include="..\..\src\qt\qrimagewidget.cpp" />
    <ClCompile Include="..\..\src\qt\qvalidatedlineedit.cpp" />
    <ClCompile Include="..\..\src\qt\qvaluecombobox.cpp" />
    <ClCompile Include="..\..\src\qt\receivecoinsdialog.cpp" />
    <ClCompile Include="..\..\src\qt\receiverequestdialog.cpp" />
    <ClCompile Include="..\..\src\qt\recentrequeststablemodel.cpp" />
    <ClCompile Include="..\..\src\qt\rpcconsole.cpp" />
    <ClCompile Include="..\..\src\qt\sendcoinsdialog.cpp" />
    <ClCompile Include="..\..\src\qt\sendcoinsentry.cpp" />
    <ClCompile Include="..\..\src\qt\signverifymessagedialog.cpp" />
    <ClCompile Include="..\..\src\qt\splashscreen.cpp" />
    <ClCompile Include="..\..\src\qt\trafficgraphwidget.cpp" />
    <ClCompile Include="..\..\src\qt\transactiondesc.cpp" />
    <ClCompile Include="..\..\src\qt\transactiondescdialog.cpp" />
    <ClCompile Include="..\..\src\qt\transactionfilterproxy.cpp" />
    <ClCompile Include="..\..\src\qt\transactionrecord.cpp" />
    <ClCompile Include="..\..\src\qt\transactiontablemodel.cpp" />
    <ClCompile Include="..\..\src\qt\transactionview.cpp" />
    <ClCompile Include="..\..\src\qt\utilitydialog.cpp" />
    <ClCompile Include="..\..\src\qt\walletcontroller.cpp" />
    <ClCompile Include="..\..\src\qt\walletframe.cpp" />
    <ClCompile Include="..\..\src\qt\walletmodel.cpp" />
    <ClCompile Include="..\..\src\qt\walletmodeltransaction.cpp" />
    <ClCompile Include="..\..\src\qt\walletview.cpp" />
    <ClCompile Include="..\..\src\qt\winshutdownmonitor.cpp" />
    <ClCompile Include="$(GeneratedFilesOutDir)\moc\moc_addressbookpage.cpp" />
    <ClCompile Include="$(GeneratedFilesOutDir)\moc\moc_addresstablemodel.cpp" />
    <ClCompile Include="$(GeneratedFilesOutDir)\moc\moc_askpassphrasedialog.cpp" />
    <ClCompile Include="$(GeneratedFilesOutDir)\moc\moc_bantablemodel.cpp" />
    <ClCompile Include="$(GeneratedFilesOutDir)\moc\moc_bitcoin.cpp" />
    <ClCompile Include="$(GeneratedFilesOutDir)\moc\moc_bitcoinaddressvalidator.cpp" />
    <ClCompile Include="$(GeneratedFilesOutDir)\moc\moc_bitcoinamountfield.cpp" />
    <ClCompile Include="$(GeneratedFilesOutDir)\moc\moc_bitcoingui.cpp" />
    <ClCompile Include="$(GeneratedFilesOutDir)\moc\moc_bitcoinunits.cpp" />
    <ClCompile Include="$(GeneratedFilesOutDir)\moc\moc_clientmodel.cpp" />
    <ClCompile Include="$(GeneratedFilesOutDir)\moc\moc_coincontroldialog.cpp" />
    <ClCompile Include="$(GeneratedFilesOutDir)\moc\moc_coincontroltreewidget.cpp" />
    <ClCompile Include="$(GeneratedFilesOutDir)\moc\moc_createwalletdialog.cpp" />
    <ClCompile Include="$(GeneratedFilesOutDir)\moc\moc_csvmodelwriter.cpp" />
    <ClCompile Include="$(GeneratedFilesOutDir)\moc\moc_editaddressdialog.cpp" />
    <ClCompile Include="$(GeneratedFilesOutDir)\moc\moc_guiutil.cpp" />
    <ClCompile Include="$(GeneratedFilesOutDir)\moc\moc_intro.cpp" />
    <ClCompile Include="$(GeneratedFilesOutDir)\moc\moc_modaloverlay.cpp" />
    <ClCompile Include="$(GeneratedFilesOutDir)\moc\moc_networkstyle.cpp" />
    <ClCompile Include="$(GeneratedFilesOutDir)\moc\moc_notificator.cpp" />
    <ClCompile Include="$(GeneratedFilesOutDir)\moc\moc_openuridialog.cpp" />
    <ClCompile Include="$(GeneratedFilesOutDir)\moc\moc_optionsdialog.cpp" />
    <ClCompile Include="$(GeneratedFilesOutDir)\moc\moc_optionsmodel.cpp" />
    <ClCompile Include="$(GeneratedFilesOutDir)\moc\moc_overviewpage.cpp" />
    <ClCompile Include="$(GeneratedFilesOutDir)\moc\moc_paymentserver.cpp" />
    <ClCompile Include="$(GeneratedFilesOutDir)\moc\moc_peertablemodel.cpp" />
    <ClCompile Include="$(GeneratedFilesOutDir)\moc\moc_platformstyle.cpp" />
    <ClCompile Include="$(GeneratedFilesOutDir)\moc\moc_psbtoperationsdialog.cpp" />
    <ClCompile Include="$(GeneratedFilesOutDir)\moc\moc_qrimagewidget.cpp" />
    <ClCompile Include="$(GeneratedFilesOutDir)\moc\moc_qvalidatedlineedit.cpp" />
    <ClCompile Include="$(GeneratedFilesOutDir)\moc\moc_qvaluecombobox.cpp" />
    <ClCompile Include="$(GeneratedFilesOutDir)\moc\moc_receivecoinsdialog.cpp" />
    <ClCompile Include="$(GeneratedFilesOutDir)\moc\moc_receiverequestdialog.cpp" />
    <ClCompile Include="$(GeneratedFilesOutDir)\moc\moc_recentrequeststablemodel.cpp" />
    <ClCompile Include="$(GeneratedFilesOutDir)\moc\moc_rpcconsole.cpp" />
    <ClCompile Include="$(GeneratedFilesOutDir)\moc\moc_sendcoinsdialog.cpp" />
    <ClCompile Include="$(GeneratedFilesOutDir)\moc\moc_sendcoinsentry.cpp" />
    <ClCompile Include="$(GeneratedFilesOutDir)\moc\moc_signverifymessagedialog.cpp" />
    <ClCompile Include="$(GeneratedFilesOutDir)\moc\moc_splashscreen.cpp" />
    <ClCompile Include="$(GeneratedFilesOutDir)\moc\moc_trafficgraphwidget.cpp" />
    <ClCompile Include="$(GeneratedFilesOutDir)\moc\moc_transactiondesc.cpp" />
    <ClCompile Include="$(GeneratedFilesOutDir)\moc\moc_transactiondescdialog.cpp" />
    <ClCompile Include="$(GeneratedFilesOutDir)\moc\moc_transactionfilterproxy.cpp" />
    <ClCompile Include="$(GeneratedFilesOutDir)\moc\moc_transactionrecord.cpp" />
    <ClCompile Include="$(GeneratedFilesOutDir)\moc\moc_transactiontablemodel.cpp" />
    <ClCompile Include="$(GeneratedFilesOutDir)\moc\moc_transactionview.cpp" />
    <ClCompile Include="$(GeneratedFilesOutDir)\moc\moc_utilitydialog.cpp" />
    <ClCompile Include="$(GeneratedFilesOutDir)\moc\moc_walletcontroller.cpp" />
    <ClCompile Include="$(GeneratedFilesOutDir)\moc\moc_walletframe.cpp" />
    <ClCompile Include="$(GeneratedFilesOutDir)\moc\moc_walletmodel.cpp" />
    <ClCompile Include="$(GeneratedFilesOutDir)\moc\moc_walletmodeltransaction.cpp" />
    <ClCompile Include="$(GeneratedFilesOutDir)\moc\moc_walletview.cpp" />
    <ClCompile Include="$(GeneratedFilesOutDir)\moc\moc_winshutdownmonitor.cpp" />
    <ClCompile Include="$(GeneratedFilesOutDir)\rcc\qrc_bitcoin.cpp" />
    <ClCompile Include="$(GeneratedFilesOutDir)\rcc\qrc_bitcoin_locale.cpp" />
  </ItemGroup>

  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />

  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
    <ClCompile>
      <PreprocessorDefinitions>_AMD64_;%(PreprocessorDefinitions)</PreprocessorDefinitions>
      <AdditionalIncludeDirectories>$(QtIncludes);$(GeneratedFilesOutDir)\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
    </ClCompile>
  </ItemDefinitionGroup>

  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
    <ClCompile>
      <PreprocessorDefinitions>_AMD64_;%(PreprocessorDefinitions)</PreprocessorDefinitions>
      <AdditionalIncludeDirectories>$(QtIncludes);$(GeneratedFilesOutDir)\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
    </ClCompile>
  </ItemDefinitionGroup>

  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
    <ClCompile>
      <PreprocessorDefinitions>_X86_;%(PreprocessorDefinitions)</PreprocessorDefinitions>
      <AdditionalIncludeDirectories>$(QtIncludes);$(GeneratedFilesOutDir)\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
    </ClCompile>
  </ItemDefinitionGroup>

  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
    <ClCompile>
      <PreprocessorDefinitions>_X86_;%(PreprocessorDefinitions)</PreprocessorDefinitions>
      <AdditionalIncludeDirectories>$(QtIncludes);$(GeneratedFilesOutDir)\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
    </ClCompile>
  </ItemDefinitionGroup>

  <ItemGroup>
    <QT_MOC Include="..\..\src\qt\bitcoinamountfield.cpp" />
    <QT_MOC Include="..\..\src\qt\intro.cpp" />
    <QT_MOC Include="..\..\src\qt\overviewpage.cpp" />
    <QT_MOC Include="..\..\src\qt\rpcconsole.cpp" />
    <MocHeaderFiles Include="..\..\src\qt\*.h" />
    <ResourceTemplates Include="..\..\src\qt\*.qrc" />
    <UiFormFiles Include="..\..\src\qt\forms\*.ui" />
    <TranslationFiles Include="..\..\src\qt\locale\*.ts" />
  </ItemGroup>

  <Target Name="moccode" Inputs="@(QT_MOC)" Outputs="@(QT_MOC->'$(GeneratedFilesOutDir)\%(Filename).moc')">
    <PropertyGroup>
      <ErrorText>There was an error executing the libbitcoin_qt moc code include generation task.</ErrorText>
    </PropertyGroup>
    <MakeDir Directories="$(GeneratedFilesOutDir)" />
    <Exec Command="echo Performing libbitcoin_qt moc code include generation task, output path $(GeneratedFilesOutDir)." />
    <Exec Command="echo $(QtToolsDir)\moc.exe $(MOC_DEFINES) &quot;%(QT_MOC.Identity)&quot; -o $(GeneratedFilesOutDir)\%(Filename).moc." />
    <Exec Command="$(QtToolsDir)\moc.exe $(MOC_DEFINES) &quot;%(QT_MOC.Identity)&quot; -o $(GeneratedFilesOutDir)\%(Filename).moc" />
  </Target>

  <Target Name="mocheader" Inputs="@(MocHeaderFiles)" Outputs="@(MocHeaderFiles->'$(GeneratedFilesOutDir)\moc\moc_%(Filename).cpp')">
    <PropertyGroup>
      <ErrorText>There was an error executing the libbitcoin_qt moc header generation task.</ErrorText>
    </PropertyGroup>
    <Exec Command="echo Performing libbitcoin_qt moc header generation task, output path $(GeneratedFilesOutDir)\moc." />
    <Exec Command="echo $(QtToolsDir)\moc.exe $(MOC_DEFINES) &quot;%(MocHeaderFiles.Identity)&quot; -o $(GeneratedFilesOutDir)\moc\moc_%(Filename).cpp." />
    <MakeDir Directories="$(GeneratedFilesOutDir)\moc\" />
    <Exec Command="$(QtToolsDir)\moc.exe $(MOC_DEFINES) &quot;%(MocHeaderFiles.Identity)&quot; -o $(GeneratedFilesOutDir)\moc\moc_%(Filename).cpp" />
  </Target>

  <Target Name="forms" Inputs="@(UiFormFiles)" Outputs="@(UiFormFiles->'$(GeneratedFilesOutDir)\forms\ui_%(Filename).h')">
    <PropertyGroup>
      <ErrorText>There was an error executing the libbitcoin_qt forms header generation task.</ErrorText>
    </PropertyGroup>
    <Exec Command="echo Performing libbitcoin_qt forms header generation task, output path $(GeneratedFilesOutDir)\forms." />
    <MakeDir Directories="$(GeneratedFilesOutDir)\forms\" />
    <Exec Command="$(QtToolsDir)\uic.exe &quot;%(UiFormFiles.Identity)&quot; -o $(GeneratedFilesOutDir)\forms\ui_%(Filename).h" />
  </Target>

  <Target Name="translation" Inputs="@(TranslationFiles)" Outputs="@(TranslationFiles->'..\..\src\qt\locale\%(Filename).qm')">
    <PropertyGroup>
      <ErrorText>There was an error executing the libbitcoin_qt translation file generation task.</ErrorText>
    </PropertyGroup>
    <Exec Command="echo Performing libbitcoin_qt translation file generation task." />
    <Exec Command="$(QtToolsDir)\lrelease.exe &quot;%(TranslationFiles.Identity)&quot; -qm ..\..\src\qt\locale\%(Filename).qm" />
  </Target>

  <Target Name="resource" Inputs="@(ResourceTemplates)" Outputs="@(ResourceTemplates->'$(GeneratedFilesOutDir)\rcc\qrc_%(Filename).cpp')" DependsOnTargets="translation">
    <PropertyGroup>
      <ErrorText>There was an error executing the libbitcoin_qt resource code generation task.</ErrorText>
    </PropertyGroup>
    <Exec Command="echo Performing libbitcoin_qt resource code generation task, output path $(GeneratedFilesOutDir)\rcc." />
    <MakeDir Directories="$(GeneratedFilesOutDir)\rcc\" />
    <Exec Command="$(QtToolsDir)\rcc.exe --verbose --name %(Filename) &quot;%(ResourceTemplates.Identity)&quot; -o $(GeneratedFilesOutDir)\rcc\qrc_%(Filename).cpp" />
  </Target>

  <Target Name="qtclean">
    <Exec Command="echo Clean libbitcoin_qt generated files from $(GeneratedFilesOutDir)." />
    <RemoveDir Directories="$(GeneratedFilesOutDir)\forms;$(GeneratedFilesOutDir)\moc;$(GeneratedFilesOutDir)\rcc;" />
    <RemoveDir Directories="$(GeneratedFilesOutDir)" />
  </Target>

  <PropertyGroup>
    <BuildDependsOn>
        moccode;
        mocheader;
        forms;
        translation;
        resource;
        $(BuildDependsOn);
    </BuildDependsOn>
  </PropertyGroup>
  <PropertyGroup>
    <CleanDependsOn>
        qtclean;
        $(CleanDependsOn);
    </CleanDependsOn>
  </PropertyGroup>

</Project>