Permalink
Browse files

Create Windows build scripts and update instructions (#1721)

* Create windows build scripts and clean up readme

* Update AppVeyor to use new scripts

* Fix bad set command in appveyor.yml
  • Loading branch information...
lokitoth authored and jackgerrits committed Jan 23, 2019
1 parent b50fb59 commit 06f09ad5c24e0b76c261f7a3edadce7b974a4204
Showing with 126 additions and 238 deletions.
  1. 0 .gitkeep
  2. +17 −0 .scripts/build.cmd
  3. +13 −0 .scripts/init.cmd
  4. +46 −0 .scripts/restore.cmd
  5. +41 −0 README.Windows.md
  6. +0 −27 README.deploy.txt
  7. +0 −201 README.windows.txt
  8. +9 −10 appveyor.yml
No changes.
@@ -0,0 +1,17 @@
@ECHO OFF
IF DEFINED DebugBuildScripts (
@ECHO ON
)

SETLOCAL

CALL %~dp0init.cmd
PUSHD %~dp0

REM TODO: Figure out how to parametrize this script?! (is there a standard, or do we actually need parse args?)
ECHO Building "%vwRoot%\vowpalwabbit\vw.sln" for Release x64
"%msbuildPath%" /v:normal /m /p:Configuration=Release;Platform=x64 "%vwRoot%\vowpalwabbit\vw.sln"

POPD

ENDLOCAL
@@ -0,0 +1,13 @@
REM Integration points for toolchain customization
IF NOT DEFINED nugetPath (
SET nugetPath=nuget
)

IF NOT DEFINED msbuildPath (
SET msbuildPath=msbuild
)

REM Repo-specific paths
IF NOT DEFINED vwRoot (
SET vwRoot=%~dp0..
)
@@ -0,0 +1,46 @@
@ECHO OFF
IF DEFINED DebugBuildScripts (
@ECHO ON
)

SETLOCAL

CALL %~dp0init.cmd
PUSHD %~dp0

REM TODO: This really should be out-of-source
ECHO Restoring "%vwRoot%\cs\cs\packages.config"
"%nugetPath%" restore -o "%vwRoot%\vowpalwabbit\packages" "%vwRoot%\cs\cs\packages.config"
ECHO.

ECHO Restoring "%vwRoot%\cs\azure\packages.config"
"%nugetPath%" restore -o "%vwRoot%\vowpalwabbit\packages" "%vwRoot%\cs\azure\packages.config"
ECHO.

ECHO Restoring "%vwRoot%\cs\azure_worker\packages.config"
"%nugetPath%" restore -o "%vwRoot%\vowpalwabbit\packages" "%vwRoot%\cs\azure_worker\packages.config"
ECHO.

ECHO Restoring "%vwRoot%\cs\setup_bundle\packages.config"
"%nugetPath%" restore -o "%vwRoot%\vowpalwabbit\packages" "%vwRoot%\cs\setup_bundle\packages.config"
ECHO.

ECHO Restoring "%vwRoot%\cs\unittest\packages.config"
"%nugetPath%" restore -o "%vwRoot%\vowpalwabbit\packages" "%vwRoot%\cs\unittest\packages.config"
ECHO.

ECHO Restoring "%vwRoot%\python\windows27\packages.config"
"%nugetPath%" restore -o "%vwRoot%\vowpalwabbit\packages" "%vwRoot%\python\windows27\packages.config"
ECHO.

ECHO Restoring "%vwRoot%\python\windows35\packages.config"
"%nugetPath%" restore -o "%vwRoot%\vowpalwabbit\packages" "%vwRoot%\python\windows35\packages.config"
ECHO.

ECHO Restoring "%vwRoot%\vowpalwabbit\packages.config"
"%nugetPath%" restore -o "%vwRoot%\vowpalwabbit\packages" "%vwRoot%\vowpalwabbit\packages.config"
ECHO.

POPD

ENDLOCAL
@@ -0,0 +1,41 @@
## Windows specific info

This document details differences in pre-requisites and building instructions under Windows.

## Prerequisite software

### [Visual Studio 2015](https://visualstudio.microsoft.com/vs/older-downloads/)

*Note that this may require an MSDN subscription*

Make sure you install all of the following **Workloads**

- Desktop development with C++
- .NET desktop development
- Azure development
- Python development
- Windows 8.1 SDK

### [Visual Studio 2017](https://visualstudio.microsoft.com/downloads/?utm_medium=microsoft&utm_source=docs.microsoft.com&utm_campaign=button+cta&utm_content=download+vs2017)

Make sure you install all of the following **Workloads**

- Desktop development with C++
- .NET desktop development
- Azure development
- Python development

Make sure you also install all of the following **Individual components**

- VC++ 2015.3 v14.00 (v140) toolset for desktop
- Windows 8.1 SDK

## Compiling

*This assumes running inside of "Developer Command Prompt" for your instance of Visual Studio*

```
cd .scripts
restore
build
```

This file was deleted.

Oops, something went wrong.

This file was deleted.

Oops, something went wrong.
@@ -12,16 +12,15 @@ build_script:
# Temporary workaround: https://github.com/Microsoft/vcpkg/issues/4189#issuecomment-417462822
- rd /s /q C:\OpenSSL-v11-Win32
- rd /s /q C:\OpenSSL-v11-Win64
- cd c:\vowpal_wabbit
- vowpalwabbit\.nuget\nuget restore -o vowpalwabbit\packages cs\cs\packages.config
- vowpalwabbit\.nuget\nuget restore -o vowpalwabbit\packages cs\azure\packages.config
- vowpalwabbit\.nuget\nuget restore -o vowpalwabbit\packages cs\azure_worker\packages.config
- vowpalwabbit\.nuget\nuget restore -o vowpalwabbit\packages cs\setup_bundle\packages.config
- vowpalwabbit\.nuget\nuget restore -o vowpalwabbit\packages cs\unittest\packages.config
- vowpalwabbit\.nuget\nuget restore -o vowpalwabbit\packages python\windows27\packages.config
- vowpalwabbit\.nuget\nuget restore -o vowpalwabbit\packages python\windows35\packages.config
- vowpalwabbit\.nuget\nuget restore -o vowpalwabbit\packages vowpalwabbit\packages.config
- '"C:\Program Files (x86)\MSBuild\14.0\Bin\MSBuild.exe" "C:\vowpal_wabbit\vowpalwabbit\vw.sln" /m /verbosity:normal /p:Configuration=Release;Platform=x64'
# Set up vowpal_wabbit repo root
- SET vwRoot=C:\vowpal_wabbit
# Set up toolchain integration
- SET "msbuildPath=C:\Program Files (x86)\MSBuild\14.0\Bin\MSBuild.exe"
- SET nugetPath=%vwRoot%\vowpalwabbit\.nuget\nuget
# Restore and build
- cd %vwRoot%
- .scripts/restore.cmd
- .scripts/build.cmd
test_script:
- ps: >-
if($env:PLATFORM -eq "x64")

0 comments on commit 06f09ad

Please sign in to comment.