aboutsummaryrefslogtreecommitdiffhomepage
path: root/tools/run_tests/artifacts/build_artifact_csharp.bat
diff options
context:
space:
mode:
Diffstat (limited to 'tools/run_tests/artifacts/build_artifact_csharp.bat')
-rw-r--r--tools/run_tests/artifacts/build_artifact_csharp.bat29
1 files changed, 23 insertions, 6 deletions
diff --git a/tools/run_tests/artifacts/build_artifact_csharp.bat b/tools/run_tests/artifacts/build_artifact_csharp.bat
index ac2c92b716..713e480f72 100644
--- a/tools/run_tests/artifacts/build_artifact_csharp.bat
+++ b/tools/run_tests/artifacts/build_artifact_csharp.bat
@@ -15,16 +15,33 @@
@rem Builds C# artifacts on Windows
set ARCHITECTURE=%1
-set GRPC_SKIP_DOTNET_RESTORE=true
-@call tools\run_tests\helper_scripts\pre_build_csharp.bat %ARCHITECTURE% || goto :error
-cd cmake\build\%ARCHITECTURE%
-cmake --build . --target grpc_csharp_ext --config RelWithDebInfo
+@rem enter repo root
+cd /d %~dp0\..\..\..
+
+mkdir cmake
+cd cmake
+mkdir build
+cd build
+mkdir %ARCHITECTURE%
+cd %ARCHITECTURE%
+
+@rem TODO(jtattermusch): is there a better way to force using MSVC?
+@rem select the MSVC compiler explicitly to avoid using gcc from mingw or cygwin
+@rem (both are on path)
+set "MSVC_COMPILER=C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/cl.exe"
+if "%ARCHITECTURE%" == "x64" (
+ set "MSVC_COMPILER=C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/amd64/cl.exe"
+)
+
+call "%VS140COMNTOOLS%..\..\VC\vcvarsall.bat" %ARCHITECTURE%
+cmake -G Ninja -DCMAKE_C_COMPILER="%MSVC_COMPILER%" -DCMAKE_CXX_COMPILER="%MSVC_COMPILER%" -DCMAKE_BUILD_TYPE=RelWithDebInfo -DgRPC_BUILD_TESTS=OFF -DgRPC_MSVC_STATIC_RUNTIME=ON ../../.. || goto :error
+cmake --build . --target grpc_csharp_ext
cd ..\..\..
mkdir -p %ARTIFACTS_OUT%
-copy /Y cmake\build\Win32\RelWithDebInfo\grpc_csharp_ext.dll %ARTIFACTS_OUT% || copy /Y cmake\build\x64\RelWithDebInfo\grpc_csharp_ext.dll %ARTIFACTS_OUT% || goto :error
-copy /Y cmake\build\Win32\RelWithDebInfo\grpc_csharp_ext.pdb %ARTIFACTS_OUT% || copy /Y cmake\build\x64\RelWithDebInfo\grpc_csharp_ext.pdb %ARTIFACTS_OUT% || goto :error
+copy /Y cmake\build\%ARCHITECTURE%\grpc_csharp_ext.dll %ARTIFACTS_OUT% || goto :error
+copy /Y cmake\build\%ARCHITECTURE%\grpc_csharp_ext.pdb %ARTIFACTS_OUT% || goto :error
goto :EOF