
.VSBasePath                = 'C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.29.30133'
.WindowsSDKBaseIncludePath = 'C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0'
.WindowsSDKBaseLibPath     = 'C:\Program Files (x86)\Windows Kits\10\lib\10.0.19041.0'

Settings
{
    .Environment    = { "PATH=$VSBasePath$\bin\Hostx64\x64\",
                        "TMP=C:\Windows\Temp",
                        "SystemRoot=C:\Windows" }
}

Compiler( 'Compiler-VS2019-x64' )
{
    .Root       = '$VSBasePath$\bin\Hostx64\x64'
    .Executable = '$Root$/cl.exe'
    .ExtraFiles = { '$Root$/c1.dll'
                    '$Root$/c1xx.dll',
                    '$Root$/c2.dll',
                    '$Root$/atlprov.dll',
                    '$Root$/msobj140.dll'
                    '$Root$/mspdb140.dll'
                    '$Root$/mspdbcore.dll'
                    '$Root$/mspdbsrv.exe'
                    '$Root$/mspft140.dll'
                    '$Root$/msvcp140.dll'
                    '$Root$/msvcp140_atomic_wait.dll'
                    '$Root$/tbbmalloc.dll'
                    '$Root$/vcruntime140.dll'
                    '$Root$/vcruntime140_1.dll'
                    '$Root$/1033/clui.dll'
                    '$Root$/1033/mspft140ui.dll'
                  }
}

.CompilerOptions    = '"%1"'
                    + ' /Fo"%2"'
                    + ' /Z7'
                    + ' /c'
                    + ' /nologo'
                    + ' /W3'
                    + ' /WX'
                    + ' /Od'
                    + ' /MDd'

.Linker             = '$VSBasePath$\bin\Hostx64\x64\link.exe'
.LinkerOptions      = ' /OUT:"%2"'
                    + ' "%1"'
                    + ' /INCREMENTAL:NO'
                    + ' /FUNCTIONPADMIN'
                    + ' /OPT:NOREF'
                    + ' /OPT:NOICF'
                    + ' /NOLOGO'
                    + ' /DEBUG:FULL'
                    + ' User32.lib'
                    + ' Gdi32.lib'

.BaseIncludePaths   = ' /I".."'
                    + ' /I"$WindowsSDKBaseIncludePath$/ucrt"'
                    + ' /I"$WindowsSDKBaseIncludePath$/um"'
                    + ' /I"$WindowsSDKBaseIncludePath$/shared"'
                    + ' /I"$VSBasePath$/include/"'
.CompilerOptions    + .BaseIncludePaths

.LibPaths           = ' /LIBPATH:"$WindowsSDKBaseLibPath$\ucrt\x64"'
                    + ' /LIBPATH:"$WindowsSDKBaseLibPath$\um\x64"'
                    + ' /LIBPATH:"$VSBasePath$\lib\x64"'
.LinkerOptions      + .LibPaths


ObjectList( '11_FASTBuild_Lib' )
{
    .Compiler = 'Compiler-VS2019-x64'
    .CompilerInputFiles =
    { 
        'src\Cube.cpp',
        'src\FireDemo.cpp',
        'src\FrameBuffer.cpp',
        'src\Input.cpp',
        'src\MainFASTBuild.cpp',
        'src\MainLoop.cpp',
        'src\Matrix4x4.cpp',
        'src\Mutex.cpp',
        'src\Palette.cpp',
        'src\PalettizedFrameBuffer.cpp',
        'src\Timestamp.cpp'
        'src\Window.cpp'
        'src\XorShift.cpp'
    }
    .CompilerOutputPath = 'temp\x64_Debug_11_FASTBuild'
}

Executable( '11_FASTBuild' )
{
    .Libraries          = { "11_FASTBuild_Lib" }
    .LinkerOutput       = 'bin\x64\11_FASTBuild_Debug.exe'
}

Alias( 'all' ) { .Targets = { '11_FASTBuild' } }
