1@rem Copyright (c) 2013 Google, Inc. 2@rem 3@rem This software is provided 'as-is', without any express or implied 4@rem warranty. In no event will the authors be held liable for any damages 5@rem arising from the use of this software. 6@rem Permission is granted to anyone to use this software for any purpose, 7@rem including commercial applications, and to alter it and redistribute it 8@rem freely, subject to the following restrictions: 9@rem 1. The origin of this software must not be misrepresented; you must not 10@rem claim that you wrote the original software. If you use this software 11@rem in a product, an acknowledgment in the product documentation would be 12@rem appreciated but is not required. 13@rem 2. Altered source versions must be plainly marked as such, and must not be 14@rem misrepresented as being the original software. 15@rem 3. This notice may not be removed or altered from any source distribution. 16@echo off 17 18setlocal enabledelayedexpansion 19 20set thispath=%~dp0 21 22rem Path to cmake passed in by caller. 23set cmake=%1 24rem Path to cmake project to build. 25set cmake_project_path=%2 26 27rem Newest and oldest version of Visual Studio that it's possible to select. 28set visual_studio_version_max=20 29set visual_studio_version_min=8 30 31rem Determine the newest version of Visual Studio installed on this machine. 32set visual_studio_version= 33for /L %%a in (%visual_studio_version_max%,-1,%visual_studio_version_min%) do ( 34 echo Searching for Visual Studio %%a >&2 35 reg query HKLM\SOFTWARE\Microsoft\VisualStudio\%%a.0 /ve 1>NUL 2>NUL 36 if !ERRORLEVEL! EQU 0 ( 37 set visual_studio_version=%%a 38 goto found_vs 39 ) 40) 41echo Unable to determine whether Visual Studio is installed. >&2 42exit /B 1 43:found_vs 44 45rem Map Visual Studio version to cmake generator name. 46if "%visual_studio_version%"=="8" ( 47 set cmake_generator=Visual Studio 8 2005 48) 49if "%visual_studio_version%"=="9" ( 50 set cmake_generator=Visual Studio 9 2008 51) 52if %visual_studio_version% GEQ 10 ( 53 set cmake_generator=Visual Studio %visual_studio_version% 54) 55rem Set visual studio version variable for msbuild. 56set VisualStudioVersion=%visual_studio_version%.0 57 58rem Generate Visual Studio solution. 59echo Generating solution for %cmake_generator%. >&2 60cd "%cmake_project_path%" 61%cmake% -G"%cmake_generator%" 62if %ERRORLEVEL% NEQ 0 ( 63 exit /B %ERRORLEVEL% 64) 65 66rem Build flatc 67python %thispath%\msbuild.py flatc.vcxproj 68if ERRORLEVEL 1 exit /B 1 69