﻿<?xml version="1.0" encoding="utf-8"?>
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
    <Target Name="UpdateSQLite3pp">
        <SetConsoleTitle
            Title="$(CONSOLE_TITLE) - UpdateSQLite3pp" />
        <Exec
            Condition="Exists('$(MSBuildProjectDirectory)\$(SQLITE3PP_DIR)')"
            Command="&quot;$(GIT_EXE)&quot; pull" WorkingDirectory="$(MSBuildProjectDirectory)\$(SQLITE3PP_DIR)" />
        <Exec
            Condition="!Exists('$(MSBuildProjectDirectory)\$(SQLITE3PP_DIR)')"
            Command="&quot;$(GIT_EXE)&quot; clone $(SQLITE3PP_URL)" WorkingDirectory="$(MSBuildProjectDirectory)" />
    </Target>
    <Target Name="BuildSQLite3pp">
        <SetConsoleTitle
            Title="$(CONSOLE_TITLE) - BuildSQLite3pp" />
        <MSBuild
            Projects="$(MSBuildProjectDirectory)\$(SQLITE3PP_DIR)\sqlite3pp.sln"
            Properties="Configuration=Release;Platform=Win32;VcpkgEnabled=false"/>
        <MSBuild
            Projects="$(MSBuildProjectDirectory)\$(SQLITE3PP_DIR)\sqlite3pp.sln"
            Properties="Configuration=Release;Platform=x64;VcpkgEnabled=false"/>
        <MSBuild
            Projects="$(MSBuildProjectDirectory)\$(SQLITE3PP_DIR)\sqlite3pp.sln"
            Properties="Configuration=Debug;Platform=Win32;VcpkgEnabled=false"/>
        <MSBuild
            Projects="$(MSBuildProjectDirectory)\$(SQLITE3PP_DIR)\sqlite3pp.sln"
            Properties="Configuration=Debug;Platform=x64;VcpkgEnabled=false"/>
    </Target>
    <Target Name="CopySQLite3pp">
        <ItemGroup>
            <SQLITE3PP_DOCS_FILES
                Include="$(MSBuildProjectDirectory)\$(SQLITE3PP_DIR)\README.md" />
            <SQLITE3PP_INCLUDE_FILES
                Include="$(MSBuildProjectDirectory)\$(SQLITE3PP_DIR)\src\sqlite3pp.h" />
            <SQLITE3PP_INCLUDE_FILES
                Include="$(MSBuildProjectDirectory)\$(SQLITE3PP_DIR)\src\sqlite3ppext.h" />
            <SQLITE3PP_LIB_FILES
                Include="$(MSBuildProjectDirectory)\$(SQLITE3PP_DIR)\lib\**\*.*" />
        </ItemGroup>
        <SetConsoleTitle
            Title="$(CONSOLE_TITLE) - CopySQLite3pp" />
        <MakeDir
            Condition="!Exists('$(COMMON_SDKS)\docs\sqlite3pp')"
            Directories="$(COMMON_SDKS)\docs\sqlite3pp" />
        <Copy
            SourceFiles="@(SQLITE3PP_DOCS_FILES)"
            DestinationFolder="$(COMMON_SDKS)\docs\sqlite3pp"
            SkipUnchangedFiles="true" />
        <Copy
            SourceFiles="@(SQLITE3PP_INCLUDE_FILES)"
            DestinationFolder="$(COMMON_SDKS)\include"
            SkipUnchangedFiles="true" />
        <Copy
            SourceFiles="@(SQLITE3PP_LIB_FILES)"
            DestinationFolder="$(COMMON_SDKS)\lib\%(RecursiveDir)"
            SkipUnchangedFiles="true" />
    </Target>
    <Target Name="CleanSQLite3pp">
        <SetConsoleTitle
            Title="$(CONSOLE_TITLE) - CleanSQLite3pp" />
        <RemoveDir
            Condition="Exists('$(MSBuildProjectDirectory)\$(SQLITE3PP_DIR)')"
            Directories="$(MSBuildProjectDirectory)\$(SQLITE3PP_DIR)" />
    </Target>
    <Target Name="SQLite3pp">
        <SetConsoleTitle
            Title="$(CONSOLE_TITLE) - SQLite3pp" />
        <CallTarget
            Condition="!Exists('$(MSBuildProjectDirectory)\build_state\SQLite3pp_build_successful')"
            Targets="UpdateSQLite3pp;BuildSQLite3pp;CopySQLite3pp" />
        <Touch
            AlwaysCreate='true'
            Files="$(MSBuildProjectDirectory)\build_state\SQLite3pp_build_successful" />
    </Target>
</Project>
