﻿<?xml version="1.0" encoding="utf-8"?>
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
    <Target Name="DownloadSTLSoft">
        <SetConsoleTitle
            Title="$(CONSOLE_TITLE) - DownloadSTLSoft" />
        <WebDownload
            Condition="!Exists('$(MSBuildProjectDirectory)\_archives\$(STLSOFT_SRC_ZIP)')"
            FileUri="$(STLSOFT_URL)/$(STLSOFT_SRC_ZIP)/download"
            FileName="$(MSBuildProjectDirectory)\_archives\$(STLSOFT_SRC_ZIP)"
            UseDefaultCredentials="True" />
    </Target>
    <Target Name="ExtractSTLSoft">
        <SetConsoleTitle
            Title="$(CONSOLE_TITLE) - ExtractSTLSoft" />
        <Unzip
            Condition="!Exists('$(MSBuildProjectDirectory)\$(STLSOFT_DIR)\Include')"
            ZipFileName="$(MSBuildProjectDirectory)\_archives\$(STLSOFT_SRC_ZIP)"
            TargetDirectory="$(MSBuildProjectDirectory)" />
    </Target>
    <Target Name="BuildSTLSoft">
        <SetConsoleTitle
            Title="$(CONSOLE_TITLE) - BuildSTLSoft" />
    </Target>
    <Target Name="CopySTLSoft">
        <ItemGroup>
            <STLSOFT_DOCS_FILES
                Include="$(MSBuildProjectDirectory)\$(STLSOFT_DIR)\*.txt" />
            <STLSOFT_INCLUDE_FILES
                Include="$(MSBuildProjectDirectory)\$(STLSOFT_DIR)\Include\**\*.*" />
        </ItemGroup>
        <SetConsoleTitle
            Title="$(CONSOLE_TITLE) - CopySTLSoft" />
        <MakeDir
            Condition="!Exists('$(COMMON_SDKS)\docs\STLSoft')"
            Directories="$(COMMON_SDKS)\docs\STLSoft" />
        <Copy
            SourceFiles="@(STLSOFT_DOCS_FILES)"
            DestinationFolder="$(COMMON_SDKS)\docs\STLSoft"
            SkipUnchangedFiles="true" />
        <Copy
            SourceFiles="@(STLSOFT_INCLUDE_FILES)"
            DestinationFolder="$(COMMON_SDKS)\include\%(RecursiveDir)"
            SkipUnchangedFiles="true" />
    </Target>
    <Target Name="CleanSTLSoft">
        <SetConsoleTitle
            Title="$(CONSOLE_TITLE) - CleanSTLSoft" />
        <RemoveDir
            Condition="Exists('$(MSBuildProjectDirectory)\$(STLSOFT_DIR)')"
            Directories="$(MSBuildProjectDirectory)\$(STLSOFT_DIR)" />
    </Target>
    <Target Name="STLSoft">
        <SetConsoleTitle
            Title="$(CONSOLE_TITLE) - STLSoft" />
        <CallTarget
            Condition="!Exists('$(MSBuildProjectDirectory)\build_state\STLSoft_build_successful')"
            Targets="DownloadSTLSoft;ExtractSTLSoft;BuildSTLSoft;CopySTLSoft" />
        <Touch
            AlwaysCreate='true'
            Files="$(MSBuildProjectDirectory)\build_state\STLSoft_build_successful" />
    </Target>
</Project>
