aboutsummaryrefslogtreecommitdiff
path: root/build-msvc.bat
diff options
context:
space:
mode:
authorKaren Arutyunov <karen@codesynthesis.com>2019-11-02 00:20:45 +0300
committerBoris Kolpackov <boris@codesynthesis.com>2019-11-06 09:03:36 +0200
commit0b7375638c965991504d658a102d66326371da6e (patch)
tree261b445c5a63bb5582e894243356cc3c1e2a76c3 /build-msvc.bat
parent964065ab34443e7fa630b117d92d7e98b7a65088 (diff)
Add --local option to build batch files
Diffstat (limited to 'build-msvc.bat')
-rw-r--r--build-msvc.bat63
1 files changed, 58 insertions, 5 deletions
diff --git a/build-msvc.bat b/build-msvc.bat
index 12d48e0..28df6ea 100644
--- a/build-msvc.bat
+++ b/build-msvc.bat
@@ -11,6 +11,7 @@ goto start
echo.
echo Usage: %0 [/?] [^<options^>] [^<cl-compiler^>]
echo Options:
+echo --local Don't build from packages, only from local source.
echo --install-dir ^<dir^> Alternative installation directory.
echo --repo ^<loc^> Alternative package repository location.
echo --trust ^<fp^> Repository certificate fingerprint to trust.
@@ -47,6 +48,7 @@ set "cdir=build2-toolchain-%cver%"
rem Parse options.
rem
+set "local="
set "idir=C:\build2"
set "trust="
set "timeout="
@@ -57,6 +59,12 @@ if "_%~1_" == "_/?_" goto usage
if "_%~1_" == "_-h_" goto usage
if "_%~1_" == "_--help_" goto usage
+if "_%~1_" == "_--local_" (
+ set "local=true"
+ shift
+ goto options
+)
+
if "_%~1_" == "_--install-dir_" (
if "_%~2_" == "__" (
echo error: installation directory expected after --install-dir
@@ -169,9 +177,11 @@ if exist build\config.build (
goto error
)
-if exist ..\%cdir%\ (
- echo error: ..\%cdir%\ bpkg configuration directory already exists, remove it
- goto error
+if "_%local%_" == "__" (
+ if exist ..\%cdir%\ (
+ echo error: ..\%cdir%\ bpkg configuration directory already exists, remove it
+ goto error
+ )
)
set "PATH=%idir%\bin;%PATH%"
@@ -206,9 +216,52 @@ move /y build2\b.exe build2\b-boot.exe
build2\b-boot --version
@if errorlevel 1 goto error
+cd ..
+
+@rem Local installation early return.
+@rem
+@if "_%local%_" == "__" goto stage
+
+build2\build2\b-boot %verbose% configure^
+ config.cxx=%cxx%^
+ config.cc.coptions=/O2^
+ config.bin.lib=shared^
+ config.install.root=%idir%
+@if errorlevel 1 goto error
+
+build2\build2\b-boot %verbose% install: build2\ bpkg\ bdep\
+@if errorlevel 1 goto error
+
+where b
+@if errorlevel 1 goto error
+
+where bpkg
+@if errorlevel 1 goto error
+
+where bdep
+@if errorlevel 1 goto error
+
+b --version
+@if errorlevel 1 goto error
+
+bpkg --version
+@if errorlevel 1 goto error
+
+bdep --version
+@if errorlevel 1 goto error
+
+@echo off
+
+echo.
+echo Toolchain installation: %idir%\bin
+echo Build configuration: %owd%
+echo.
+
+goto end
+
@rem Build and stage the build system and the package manager.
@rem
-cd ..
+:stage
build2\build2\b-boot %verbose% configure^
config.cxx=%cxx%^
@@ -294,7 +347,7 @@ b %verbose% uninstall: build2/ bpkg/
echo.
echo Toolchain installation: %idir%\bin
-echo Upgrade configuration: %cdir%
+echo Build configuration: %cdir%
echo.
goto end