@echo off rem Shave and a Haircut rem (c) 2019 Epic Games rem US Patent 6720962 setlocal rem rem Clear the error level rem ver >nul rem ------------------------------------------------------------------------ rem rem Parse Args rem rem ------------------------------------------------------------------------ if a%2b==ab ( echo Usage: mkwinVersion mayaVersion Debug/Release/Trial [reuse?] echo where 'reuse?' is 'y' if this version should reuse the currently built libexe rem rem Set an error level. rem verify other 2>nul goto done ) set reuseLibexe=n if /i %2==release ( set relType=Release set relTypeShort=Rel set libexeType=Release ) else if /i %2==trial ( set relType=Release set relTypeShort=Rel set libexeType=Release ) else if /i %2==debug ( set relType=Debug set relTypeShort=Dbg set libexeType=Debug ) else ( echo mkwinVersion: %2 is not a valid release type. Specify Debug, Trial or Release. verify other 2>nul goto done ) if /i a%3b==ayb ( set reuseLibexe=y ) if /i a%4b==ayb ( set reuseLibexe=y ) call utils\splitMayaVersion %1 call utils\getMayaLocation if "%mayaLocation%"=="." goto done call utils\getShaveVersion if not %result%==0 goto done call utils\getVSVersion if not %result%==0 goto done set compactVersion=%mayaVersionMajor%%mayaVersionMinor% set rawDir=raw64 set protDir=protected64 rem ------------------------------------------------------------------------ rem rem Clean Up Old Builds rem rem ------------------------------------------------------------------------ if exist %protDir%\%relType%\%compactVersion% rmdir /s /q %protDir%\%relType%\%compactVersion% if exist %rawDir%\%relType%\%compactVersion% rmdir /s /q %rawDir%\%relType%\%compactVersion% mkdir %protDir%\%relType%\%compactVersion% mkdir %rawDir%\%relType%\%compactVersion% rem ------------------------------------------------------------------------ rem rem Build Shave Embedded SDK rem rem ------------------------------------------------------------------------ echo compiler: %vsVersion% if %reuseLibexe%==y goto gotLibexe cd libexe call ..\utils\vcbuild publicSDK publicSDK %libexeType% %vsVersion% shave %mayaVersionBits% if not %result%==0 goto done call ..\utils\vcbuild publicSDK publicSDK %libexeType%2 %vsVersion% shave %mayaVersionBits% if not %result%==0 goto done cd .. :gotLibexe rem ------------------------------------------------------------------------ rem rem Build Maya Plugin rem rem ------------------------------------------------------------------------ cd mayaPlug echo compiler: %vsVersion% echo major: %mayaVersionMajor% echo maya: %relType%%compactVersion% echo bits: %mayaVersionBits% call ..\utils\vcbuild . libShave %relType%%compactVersion% %vsVersion% shaveHaircut %mayaVersionBits% if not %result%==0 goto done rem Although the shaveVrayExporter code is located here, it is built as part rem of the vrayPlug build. rem ------------------------------------------------------------------------ rem rem ASPROTECT rem rem ------------------------------------------------------------------------ rem do it earlier to avoid cleaning up by vs2010 cd .. set srcFile=%rawDir%\%relType%\%compactVersion%\libShave.dll set destFile=%protDir%\%relType%\%compactVersion%\libShave.dll copy %srcFile% %destFile% cd mayaPlug rem ------------------------------------------------------------------------ rem rem Build .mll rem rem ------------------------------------------------------------------------ call ..\utils\vcbuild . shaveHaircut %relType%%compactVersion% %vsVersion% shaveHaircut %mayaVersionBits% if not %result%==0 goto done rem temp copy to avoid cleaning up by vs2010 set srcFile=..\%rawDir%\%relType%\%compactVersion%\shaveNode.mll set destFile=..\%protDir%\%relType%\%compactVersion%\shaveNode.mll copy %srcFile% %destFile% rem ------------------------------------------------------------------------ rem rem Build Maya Plugin SDK rem rem ------------------------------------------------------------------------ call ..\utils\vcbuild . libShaveAPI %relType%%compactVersion% %vsVersion% shaveHaircut %mayaVersionBits% if not %result%==0 goto done rem copy back copy %destFile% %srcFile% rem ------------------------------------------------------------------------ rem rem Build Arnold Extension & Shaders For Maya rem rem ------------------------------------------------------------------------ cd ..\arnold call mkwin %mayaVersion% if not %result%==0 goto done cd.. rem ------------------------------------------------------------------------ rem rem Build RenderMan Shaders For Maya rem rem ------------------------------------------------------------------------ cd prman call mkwin %mayaVersion% if not %result%==0 goto done cd.. rem ------------------------------------------------------------------------ rem rem Build V-Ray Shaders For Maya rem rem ------------------------------------------------------------------------ cd .\vrayPlug call mkwin %mayaVersion% %compactVersion% if not %result%==0 goto done cd.. rem ------------------------------------------------------------------------ rem rem Build Installer rem rem ------------------------------------------------------------------------ call mkwinpkg %mayaFullVersion% %relType% :done endlocal