Mark Young | 1aacfe1 | 2016-01-28 14:39:19 -0700 | [diff] [blame] | 1 | echo off |
| 2 | REM |
Karl Schultz | c85cf40 | 2016-03-22 12:05:31 -0600 | [diff] [blame] | 3 | REM This Windows batch file builds this repository for the following targets: |
| 4 | REM 64-bit Debug |
| 5 | REM 64-bit Release |
| 6 | REM 32-bit Debug |
| 7 | REM 32-bit Release |
| 8 | REM It uses CMake to genererate the project files and then invokes msbuild |
| 9 | REM to build them. |
| 10 | REM The update_external_sources.bat batch file must be executed before running |
| 11 | REM this batch file |
Mark Young | 1aacfe1 | 2016-01-28 14:39:19 -0700 | [diff] [blame] | 12 | REM |
| 13 | |
| 14 | REM Determine the appropriate CMake strings for the current version of Visual Studio |
| 15 | echo Determining VS version |
| 16 | python .\determine_vs_version.py > vsversion.tmp |
| 17 | set /p VS_VERSION=< vsversion.tmp |
| 18 | echo Detected Visual Studio Version as %VS_VERSION% |
Mark Young | 1aacfe1 | 2016-01-28 14:39:19 -0700 | [diff] [blame] | 19 | del /Q /F vsversion.tmp |
| 20 | |
| 21 | rmdir /Q /S build |
| 22 | rmdir /Q /S build32 |
| 23 | |
| 24 | REM ******************************************* |
Karl Schultz | c85cf40 | 2016-03-22 12:05:31 -0600 | [diff] [blame] | 25 | REM 64-bit build |
Mark Young | 1aacfe1 | 2016-01-28 14:39:19 -0700 | [diff] [blame] | 26 | REM ******************************************* |
| 27 | mkdir build |
| 28 | pushd build |
| 29 | |
Karl Schultz | c85cf40 | 2016-03-22 12:05:31 -0600 | [diff] [blame] | 30 | echo Generating 64-bit CMake files for Visual Studio %VS_VERSION% |
Mark Young | 1aacfe1 | 2016-01-28 14:39:19 -0700 | [diff] [blame] | 31 | cmake -G "Visual Studio %VS_VERSION% Win64" .. |
| 32 | |
Karl Schultz | c85cf40 | 2016-03-22 12:05:31 -0600 | [diff] [blame] | 33 | echo Building 64-bit Debug |
Mark Young | 3f3b24a | 2016-02-01 14:51:13 -0700 | [diff] [blame] | 34 | msbuild ALL_BUILD.vcxproj /p:Platform=x64 /p:Configuration=Debug /verbosity:quiet |
Karl Schultz | c85cf40 | 2016-03-22 12:05:31 -0600 | [diff] [blame] | 35 | if errorlevel 1 ( |
Mark Young | 1aacfe1 | 2016-01-28 14:39:19 -0700 | [diff] [blame] | 36 | echo. |
Karl Schultz | c85cf40 | 2016-03-22 12:05:31 -0600 | [diff] [blame] | 37 | echo 64-bit Debug build failed! |
| 38 | popd |
| 39 | exit /B 1 |
| 40 | ) |
Mark Young | 1aacfe1 | 2016-01-28 14:39:19 -0700 | [diff] [blame] | 41 | |
Karl Schultz | c85cf40 | 2016-03-22 12:05:31 -0600 | [diff] [blame] | 42 | echo Building 64-bit Release |
Mark Young | 3f3b24a | 2016-02-01 14:51:13 -0700 | [diff] [blame] | 43 | msbuild ALL_BUILD.vcxproj /p:Platform=x64 /p:Configuration=Release /verbosity:quiet |
Karl Schultz | c85cf40 | 2016-03-22 12:05:31 -0600 | [diff] [blame] | 44 | if errorlevel 1 ( |
Mark Young | 1aacfe1 | 2016-01-28 14:39:19 -0700 | [diff] [blame] | 45 | echo. |
Karl Schultz | c85cf40 | 2016-03-22 12:05:31 -0600 | [diff] [blame] | 46 | echo 64-bit Release build failed! |
| 47 | popd |
| 48 | exit /B 1 |
| 49 | ) |
Mark Young | 1aacfe1 | 2016-01-28 14:39:19 -0700 | [diff] [blame] | 50 | |
| 51 | popd |
| 52 | |
| 53 | REM ******************************************* |
Karl Schultz | c85cf40 | 2016-03-22 12:05:31 -0600 | [diff] [blame] | 54 | REM 32-bit build |
Mark Young | 1aacfe1 | 2016-01-28 14:39:19 -0700 | [diff] [blame] | 55 | REM ******************************************* |
| 56 | mkdir build32 |
| 57 | pushd build32 |
| 58 | |
Karl Schultz | c85cf40 | 2016-03-22 12:05:31 -0600 | [diff] [blame] | 59 | echo Generating 32-bit CMake files for Visual Studio %VS_VERSION% |
Mark Young | 1aacfe1 | 2016-01-28 14:39:19 -0700 | [diff] [blame] | 60 | cmake -G "Visual Studio %VS_VERSION%" .. |
| 61 | |
Karl Schultz | c85cf40 | 2016-03-22 12:05:31 -0600 | [diff] [blame] | 62 | echo Building 32-bit Debug |
Mark Young | 3f3b24a | 2016-02-01 14:51:13 -0700 | [diff] [blame] | 63 | msbuild ALL_BUILD.vcxproj /p:Platform=x86 /p:Configuration=Debug /verbosity:quiet |
Karl Schultz | c85cf40 | 2016-03-22 12:05:31 -0600 | [diff] [blame] | 64 | if errorlevel 1 ( |
Mark Young | 1aacfe1 | 2016-01-28 14:39:19 -0700 | [diff] [blame] | 65 | echo. |
Karl Schultz | c85cf40 | 2016-03-22 12:05:31 -0600 | [diff] [blame] | 66 | echo 32-bit Debug build failed! |
| 67 | popd |
| 68 | exit /B 1 |
| 69 | ) |
Mark Young | 1aacfe1 | 2016-01-28 14:39:19 -0700 | [diff] [blame] | 70 | |
Karl Schultz | c85cf40 | 2016-03-22 12:05:31 -0600 | [diff] [blame] | 71 | echo Building 32-bit Release |
Mark Young | 3f3b24a | 2016-02-01 14:51:13 -0700 | [diff] [blame] | 72 | msbuild ALL_BUILD.vcxproj /p:Platform=x86 /p:Configuration=Release /verbosity:quiet |
Karl Schultz | c85cf40 | 2016-03-22 12:05:31 -0600 | [diff] [blame] | 73 | if errorlevel 1 ( |
Mark Young | 1aacfe1 | 2016-01-28 14:39:19 -0700 | [diff] [blame] | 74 | echo. |
Karl Schultz | c85cf40 | 2016-03-22 12:05:31 -0600 | [diff] [blame] | 75 | echo 32-bit Release build failed! |
| 76 | popd |
| 77 | exit /B 1 |
| 78 | ) |
Mark Young | 1aacfe1 | 2016-01-28 14:39:19 -0700 | [diff] [blame] | 79 | |
| 80 | popd |
Karl Schultz | c85cf40 | 2016-03-22 12:05:31 -0600 | [diff] [blame] | 81 | exit /b 0 |