﻿<?xml version="1.0" encoding="utf-8"?>
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
    <Target Name="DownloadRapidXML">
        <SetConsoleTitle
            Title="$(CONSOLE_TITLE) - DownloadRapidXML" />
        <WebDownload
            Condition="!Exists('$(MSBuildProjectDirectory)\_archives\$(RAPIDXML_SRC_ZIP)')"
            FileUri="$(RAPIDXML_URL)/$(RAPIDXML_SRC_ZIP)/download"
            FileName="$(MSBuildProjectDirectory)\_archives\$(RAPIDXML_SRC_ZIP)"
            UseDefaultCredentials="True" />
    </Target>
    <Target Name="ExtractRapidXML">
        <SetConsoleTitle
            Title="$(CONSOLE_TITLE) - ExtractRapidXML" />
        <Unzip
            Condition="!Exists('$(MSBuildProjectDirectory)\$(RAPIDXML_DIR)')"
            ZipFileName="$(MSBuildProjectDirectory)\_archives\$(RAPIDXML_SRC_ZIP)"
            TargetDirectory="$(MSBuildProjectDirectory)" />
    </Target>
    <Target Name="BuildRapidXML">
        <SetConsoleTitle
            Title="$(CONSOLE_TITLE) - BuildRapidXML" />
    </Target>
    <Target Name="CopyRapidXML">
        <ItemGroup>
            <RAPIDXML_DOCS_FILES
                Include="$(MSBuildProjectDirectory)\$(RAPIDXML_DIR)\*.txt" />
            <RAPIDXML_DOCS_FILES
                Include="$(MSBuildProjectDirectory)\$(RAPIDXML_DIR)\*.html" />
            <RAPIDXML_INCLUDE_FILES
                Include="$(MSBuildProjectDirectory)\$(RAPIDXML_DIR)\*.hpp" />
        </ItemGroup>
        <SetConsoleTitle
            Title="$(CONSOLE_TITLE) - CopyRapidXML" />
        <MakeDir
            Condition="!Exists('$(COMMON_SDKS)\docs\RapidXML')"
            Directories="$(COMMON_SDKS)\docs\RapidXML" />
        <Copy
            SourceFiles="@(RAPIDXML_DOCS_FILES)"
            DestinationFolder="$(COMMON_SDKS)\docs\RapidXML"
            SkipUnchangedFiles="true" />
        <Copy
            SourceFiles="@(RAPIDXML_INCLUDE_FILES)"
            DestinationFolder="$(COMMON_SDKS)\include"
            SkipUnchangedFiles="true" />
    </Target>
    <Target Name="CleanRapidXML">
        <SetConsoleTitle
            Title="$(CONSOLE_TITLE) - CleanRapidXML" />
        <RemoveDir
            Condition="Exists('$(MSBuildProjectDirectory)\$(RAPIDXML_DIR)')"
            Directories="$(MSBuildProjectDirectory)\$(RAPIDXML_DIR)" />
    </Target>
    <Target Name="RapidXML">
        <SetConsoleTitle
            Title="$(CONSOLE_TITLE) - RapidXML" />
        <CallTarget
            Condition="!Exists('$(MSBuildProjectDirectory)\build_state\RapidXML_build_successful')"
            Targets="DownloadRapidXML;ExtractRapidXML;BuildRapidXML;CopyRapidXML" />
        <Touch
            AlwaysCreate='true'
            Files="$(MSBuildProjectDirectory)\build_state\RapidXML_build_successful" />
    </Target>
</Project>
