﻿<?xml version="1.0" encoding="utf-8"?>
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
    <Target Name="UpdateArabica">
        <SetConsoleTitle
            Title="$(CONSOLE_TITLE) - UpdateArabica" />
        <Exec
            Condition="Exists('$(MSBuildProjectDirectory)\$(ARABICA_DIR)')"
            Command="&quot;$(GIT_EXE)&quot; pull"
            WorkingDirectory="$(MSBuildProjectDirectory)\$(ARABICA_DIR)" />
        <Exec
            Condition="!Exists('$(MSBuildProjectDirectory)\$(ARABICA_DIR)')"
            Command="&quot;$(GIT_EXE)&quot; clone $(ARABICA_URL)"
            WorkingDirectory="$(MSBuildProjectDirectory)" />
    </Target>
    <Target Name="BuildArabica">
        <SetConsoleTitle
            Title="$(CONSOLE_TITLE) - BuildArabica" />
        <MSBuild
            Projects="$(MSBuildProjectDirectory)\$(ARABICA_DIR)\vs2013+\Arabica.sln"
            Properties="Configuration=Release;Platform=Win32;VcpkgEnabled=false"/>
        <MSBuild
            Projects="$(MSBuildProjectDirectory)\$(ARABICA_DIR)\vs2013+\Arabica.sln"
            Properties="Configuration=Release;Platform=x64;VcpkgEnabled=false"/>
        <MSBuild
            Projects="$(MSBuildProjectDirectory)\$(ARABICA_DIR)\vs2013+\Arabica.sln"
            Properties="Configuration=Debug;Platform=Win32;VcpkgEnabled=false"/>
        <MSBuild
            Projects="$(MSBuildProjectDirectory)\$(ARABICA_DIR)\vs2013+\Arabica.sln"
            Properties="Configuration=Debug;Platform=x64;VcpkgEnabled=false"/>
    </Target>
    <Target Name="CopyArabica">
        <ItemGroup>
            <ARABICA_DOCS_FILES
                Include="$(MSBuildProjectDirectory)\$(ARABICA_DIR)\AUTHORS" />
            <ARABICA_DOCS_FILES
                Include="$(MSBuildProjectDirectory)\$(ARABICA_DIR)\COPYING" />
            <ARABICA_DOCS_FILES
                Include="$(MSBuildProjectDirectory)\$(ARABICA_DIR)\NEWS" />
            <ARABICA_DOCS_FILES
                Include="$(MSBuildProjectDirectory)\$(ARABICA_DIR)\README" />
            <ARABICA_INCLUDE_FILES
                Include="$(MSBuildProjectDirectory)\$(ARABICA_DIR)\include\**\*.*" />
            <ARABICA_LIB_X64_DEBUG_FILES
                Include="$(MSBuildProjectDirectory)\$(ARABICA_DIR)\$(VCPlatformToolset)\x64\Debug\Arabica.lib" />
            <ARABICA_LIB_X64_DEBUG_FILES
                Include="$(MSBuildProjectDirectory)\$(ARABICA_DIR)\$(VCPlatformToolset)\x64\Debug\Arabica.pdb" />
            <ARABICA_LIB_X64_RELEASE_FILES
                Include="$(MSBuildProjectDirectory)\$(ARABICA_DIR)\$(VCPlatformToolset)\x64\Release\Arabica.lib" />
            <ARABICA_LIB_X64_RELEASE_FILES
                Include="$(MSBuildProjectDirectory)\$(ARABICA_DIR)\$(VCPlatformToolset)\x64\Release\Arabica.pdb" />
            <ARABICA_LIB_X86_DEBUG_FILES
                Include="$(MSBuildProjectDirectory)\$(ARABICA_DIR)\$(VCPlatformToolset)\x86\Debug\Arabica.lib" />
            <ARABICA_LIB_X86_DEBUG_FILES
                Include="$(MSBuildProjectDirectory)\$(ARABICA_DIR)\$(VCPlatformToolset)\x86\Debug\Arabica.pdb" />
            <ARABICA_LIB_X86_RELEASE_FILES
                Include="$(MSBuildProjectDirectory)\$(ARABICA_DIR)\$(VCPlatformToolset)\x86\Release\Arabica.lib" />
            <ARABICA_LIB_X86_RELEASE_FILES
                Include="$(MSBuildProjectDirectory)\$(ARABICA_DIR)\$(VCPlatformToolset)\x86\Release\Arabica.pdb" />
        </ItemGroup>
        <SetConsoleTitle
            Title="$(CONSOLE_TITLE) - CopyArabica" />
        <MakeDir
            Condition="!Exists('$(COMMON_SDKS)\docs\$(ARABICA_DIR)')"
            Directories="$(COMMON_SDKS)\docs\$(ARABICA_DIR)" />
        <Copy
            SourceFiles="@(ARABICA_DOCS_FILES)"
            DestinationFolder="$(COMMON_SDKS)\docs\$(ARABICA_DIR)"
            SkipUnchangedFiles="true" />
        <Copy
            SourceFiles="@(ARABICA_INCLUDE_FILES)"
            DestinationFolder="$(COMMON_SDKS)\include"
            SkipUnchangedFiles="true" />
        <Copy
            SourceFiles="@(ARABICA_LIB_X64_DEBUG_FILES)"
            DestinationFolder="$(COMMON_SDKS)\lib\x64\Debug"
            SkipUnchangedFiles="true" />
        <Copy
            SourceFiles="@(ARABICA_LIB_X64_RELEASE_FILES)"
            DestinationFolder="$(COMMON_SDKS)\lib\x64\Release"
            SkipUnchangedFiles="true" />
        <Copy
            SourceFiles="@(ARABICA_LIB_X86_DEBUG_FILES)"
            DestinationFolder="$(COMMON_SDKS)\lib\x86\Debug"
            SkipUnchangedFiles="true" />
        <Copy
            SourceFiles="@(ARABICA_LIB_X86_RELEASE_FILES)"
            DestinationFolder="$(COMMON_SDKS)\lib\x86\Release"
            SkipUnchangedFiles="true" />
    </Target>
    <Target Name="CleanArabica">
        <SetConsoleTitle
            Title="$(CONSOLE_TITLE) - CleanArabica" />
        <RemoveDir
            Condition="Exists('$(MSBuildProjectDirectory)\$(ARABICA_DIR)')"
            Directories="$(MSBuildProjectDirectory)\$(ARABICA_DIR)" />
    </Target>
    <Target Name="Arabica">
        <SetConsoleTitle
            Title="$(CONSOLE_TITLE) - Arabica" />
        <CallTarget
            Condition="!Exists('$(MSBuildProjectDirectory)\build_state\Arabica_build_successful')"
            Targets="UpdateArabica;BuildArabica;CopyArabica" />
        <Touch
            AlwaysCreate='true'
            Files="$(MSBuildProjectDirectory)\build_state\Arabica_build_successful" />
    </Target>
</Project>
