﻿<?xml version="1.0" encoding="utf-8"?>
<Project
	xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
    <Target Name="DownloadNanaPro">
        <SetConsoleTitle
            Title="$(CONSOLE_TITLE) - DownloadNanaPro" />
        <Message
            Condition="!Exists('$(MSBuildProjectDirectory)\_archives\$(NANA_PRO_SRC_ZIP)')"
            Text="Downloading '$(NANA_PRO_URL)'." />
        <WebDownload
            Condition="!Exists('$(MSBuildProjectDirectory)\_archives\$(NANA_PRO_SRC_ZIP)')"
            FileUri="$(NANA_PRO_URL)"
            FileName="$(MSBuildProjectDirectory)\_archives\$(NANA_PRO_SRC_ZIP)"
            UseDefaultCredentials="True" />    
    </Target>
    <Target Name="ExtractNanaPro">
        <SetConsoleTitle
            Title="$(CONSOLE_TITLE) - ExtractNanaPro" />
        <Unzip
            Condition="!Exists('$(MSBuildProjectDirectory)\$(NANA_PRO_DIR)')"
            ZipFileName="$(MSBuildProjectDirectory)\_archives\$(NANA_PRO_SRC_ZIP)"
            TargetDirectory="$(MSBuildProjectDirectory)" />
    </Target>
    <Target Name="ConfigureNanaPro_X86">
        <SetConsoleTitle
            Title="$(CONSOLE_TITLE) - ConfigureNanaPro_X86" />
        <MakeDir
            Condition="!Exists('$(MSBuildProjectDirectory)\$(NANA_PRO_DIR)\build32')"
            Directories="$(MSBuildProjectDirectory)\$(NANA_PRO_DIR)\build32" />
        <PropertyGroup>
            <ExecCommand><![CDATA[
            call $(MSBuildProjectDirectory)\SetVCVars.bat $(VSVer) x86
            "$(CMAKE_EXE)" -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON -G "$(CMakeGenerator)" ..
            ]]></ExecCommand>
        </PropertyGroup>
        <Exec
            Command="$(ExecCommand)"
            WorkingDirectory="$(MSBuildProjectDirectory)\$(NANA_PRO_DIR)\build32" />
    </Target>
    <Target Name="ConfigureNanaPro_X64">
        <SetConsoleTitle
            Title="$(CONSOLE_TITLE) - ConfigureNanaPro_X64" />
        <MakeDir
            Condition="!Exists('$(MSBuildProjectDirectory)\$(NANA_PRO_DIR)\build64')"
            Directories="$(MSBuildProjectDirectory)\$(NANA_PRO_DIR)\build64" />
        <PropertyGroup>
            <ExecCommand><![CDATA[
            call $(MSBuildProjectDirectory)\SetVCVars.bat $(VSVer) x64
            "$(CMAKE_EXE)" -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON -G "$(CMakeGenerator)" -A x64 ..
            ]]></ExecCommand>
        </PropertyGroup>
        <Exec
            Command="$(ExecCommand)"
            WorkingDirectory="$(MSBuildProjectDirectory)\$(NANA_PRO_DIR)\build64" />
    </Target>
    <Target Name="ConfigureNanaPro">
        <SetConsoleTitle
            Title="$(CONSOLE_TITLE) - ConfigureNanaPro" />
        <CallTarget
            Targets="ConfigureNanaPro_X86;ConfigureNanaPro_X64" />
    </Target>
    <Target Name="BuildNanaPro_X86">
        <SetConsoleTitle
            Title="$(CONSOLE_TITLE) - BuildNanaPro_X86" />
        <Exec
            Command="&quot;$(CMAKE_EXE)&quot; --build . --config Debug"
            WorkingDirectory="$(MSBuildProjectDirectory)\$(NANA_PRO_DIR)\build32" />
        <Exec
            Command="&quot;$(CMAKE_EXE)&quot; --build . --config Release"
            WorkingDirectory="$(MSBuildProjectDirectory)\$(NANA_PRO_DIR)\build32" />
    </Target>
    <Target Name="BuildNanaPro_X64">
        <SetConsoleTitle
            Title="$(CONSOLE_TITLE) - BuildNanaPro_X64" />
        <Exec
            Command="&quot;$(CMAKE_EXE)&quot; --build . --config Debug"
            WorkingDirectory="$(MSBuildProjectDirectory)\$(NANA_PRO_DIR)\build64" />
        <Exec
            Command="&quot;$(CMAKE_EXE)&quot; --build . --config Release"
            WorkingDirectory="$(MSBuildProjectDirectory)\$(NANA_PRO_DIR)\build64" />
    </Target>
    <Target Name="BuildNanaPro">
        <SetConsoleTitle
            Title="$(CONSOLE_TITLE) - BuildNanaPro" />
        <CallTarget
            Targets="ConfigureNanaPro_X86;ConfigureNanaPro_X64;BuildNanaPro_X86;BuildNanaPro_X64" />
    </Target>
    <Target Name="CopyNanaPro">
        <ItemGroup>
            <NANA_PRO_DOCS_FILES
                Include="$(MSBuildProjectDirectory)\$(NANA_PRO_DIR)\ChangeLog.txt" />
            <NANA_PRO_DOCS_FILES
                Include="$(MSBuildProjectDirectory)\$(NANA_PRO_DIR)\help.html" />
            <NANA_PRO_DOCS_FILES
                Include="$(MSBuildProjectDirectory)\$(NANA_PRO_DIR)\LICENSE" />
            <NANA_PRO_DOCS_FILES
                Include="$(MSBuildProjectDirectory)\$(NANA_PRO_DIR)\release_note.html" />
            <NANA_PRO_INCLUDE_FILES
                Include="$(MSBuildProjectDirectory)\$(NANA_PRO_DIR)\include\**\*.*" />
            <NANA_PRO_LIB_X64_DEBUG_FILES
                Include="$(MSBuildProjectDirectory)\$(NANA_PRO_DIR)\build64\Debug\*.lib" />
            <NANA_PRO_LIB_X64_DEBUG_FILES
                Include="$(MSBuildProjectDirectory)\$(NANA_PRO_DIR)\build64\nana.dir\Debug\*.pdb" />
            <NANA_PRO_LIB_X64_RELEASE_FILES
                Include="$(MSBuildProjectDirectory)\$(NANA_PRO_DIR)\build64\Release\*.lib" />
            <NANA_PRO_LIB_X64_RELEASE_FILES
                Include="$(MSBuildProjectDirectory)\$(NANA_PRO_DIR)\build64\nana.dir\Release\*.pdb" />
            <NANA_PRO_LIB_X86_DEBUG_FILES
                Include="$(MSBuildProjectDirectory)\$(NANA_PRO_DIR)\build32\Debug\*.lib" />
            <NANA_PRO_LIB_X86_DEBUG_FILES
                Include="$(MSBuildProjectDirectory)\$(NANA_PRO_DIR)\build32\nana.dir\Debug\*.pdb" />
            <NANA_PRO_LIB_X86_RELEASE_FILES
                Include="$(MSBuildProjectDirectory)\$(NANA_PRO_DIR)\build32\Release\*.lib" />
            <NANA_PRO_LIB_X86_RELEASE_FILES
                Include="$(MSBuildProjectDirectory)\$(NANA_PRO_DIR)\build32\nana.dir\Release\*.pdb" />
        </ItemGroup>
        <SetConsoleTitle
            Title="$(CONSOLE_TITLE) - CopyNanaPro" />
        <MakeDir
            Condition="!Exists('$(COMMON_SDKS)\docs\NanaPro')"
            Directories="$(COMMON_SDKS)\docs\NanaPro" />
        <Copy
            SourceFiles="@(NANA_PRO_DOCS_FILES)"
            DestinationFolder="$(COMMON_SDKS)\docs\NanaPro"
            SkipUnchangedFiles="true" />
        <Copy
            SourceFiles="@(NANA_PRO_INCLUDE_FILES)"
            DestinationFolder="$(COMMON_SDKS)\include\%(RecursiveDir)"
            SkipUnchangedFiles="true" />
        <Copy
            SourceFiles="@(NANA_PRO_LIB_X64_DEBUG_FILES)"
            DestinationFolder="$(COMMON_SDKS)\lib\x64\Debug"
            SkipUnchangedFiles="true" />
        <Copy
            SourceFiles="@(NANA_PRO_LIB_X64_RELEASE_FILES)"
            DestinationFolder="$(COMMON_SDKS)\lib\x64\Release"
            SkipUnchangedFiles="true" />
        <Copy
            SourceFiles="@(NANA_PRO_LIB_X86_DEBUG_FILES)"
            DestinationFolder="$(COMMON_SDKS)\lib\x86\Debug"
            SkipUnchangedFiles="true" />
        <Copy
            SourceFiles="@(NANA_PRO_LIB_X86_RELEASE_FILES)"
            DestinationFolder="$(COMMON_SDKS)\lib\x86\Release"
            SkipUnchangedFiles="true" />
    </Target>
    <Target Name="CleanNanaPro">
        <SetConsoleTitle
            Title="$(CONSOLE_TITLE) - CleanNanaPro" />
        <RemoveDir
            Condition="Exists('$(MSBuildProjectDirectory)\$(NANA_PRO_DIR)')"
            Directories="$(MSBuildProjectDirectory)\$(NANA_PRO_DIR)" />
    </Target>
    <Target Name="NanaPro">
        <SetConsoleTitle
            Title="$(CONSOLE_TITLE) - NanaPro" />
        <CallTarget
            Condition="!Exists('$(MSBuildProjectDirectory)\build_state\NanaPro_build_successful')"
            Targets="DownloadNanaPro;ExtractNanaPro;BuildNanaPro;CopyNanaPro" />
        <Touch
            AlwaysCreate='true'
            Files="$(MSBuildProjectDirectory)\build_state\NanaPro_build_successful" />
    </Target>
</Project>
