diff options
author | Emanuele Aliberti <ealib@users.noreply.github.com> | 2022-04-05 12:27:29 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-04-05 11:27:29 +0100 |
commit | fb10633a80395b56ad92f0a82adcfbe2ed809cb3 (patch) | |
tree | 221e88f2b8a026c631153bbd00bb9cec5f30486e /build.cmd | |
parent | 2defc4249d650f0bd43aa33b49b6b20032db43a4 (diff) |
build.sh to build.cmd (#2319)
* build.sh to build.cmd
convert and adapt for Windows users
* remove hardwired GO ARCH
* silence cmd.exe
* update directions for Windows
* Update INSTALL.md
Co-authored-by: emanuele.aliberti <emanuele.aliberti@mtka.eu>
Co-authored-by: Neil Alexander <neilalexander@users.noreply.github.com>
Diffstat (limited to 'build.cmd')
-rw-r--r-- | build.cmd | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/build.cmd b/build.cmd new file mode 100644 index 00000000..9e90622c --- /dev/null +++ b/build.cmd @@ -0,0 +1,51 @@ +@echo off + +:ENTRY_POINT + setlocal EnableDelayedExpansion + + REM script base dir + set SCRIPTDIR=%~dp0 + set PROJDIR=%SCRIPTDIR:~0,-1% + + REM Put installed packages into ./bin + set GOBIN=%PROJDIR%\bin + + set FLAGS= + + REM Check if sources are under Git control + if not exist ".git" goto :CHECK_BIN + + REM set BUILD=`git rev-parse --short HEAD \\ ""` + FOR /F "tokens=*" %%X IN ('git rev-parse --short HEAD') DO ( + set BUILD=%%X + ) + + REM set BRANCH=`(git symbolic-ref --short HEAD \ tr -d \/ ) \\ ""` + FOR /F "tokens=*" %%X IN ('git symbolic-ref --short HEAD') DO ( + set BRANCHRAW=%%X + set BRANCH=!BRANCHRAW:/=! + ) + if "%BRANCH%" == "main" set BRANCH= + + set FLAGS=-X github.com/matrix-org/dendrite/internal.branch=%BRANCH% -X github.com/matrix-org/dendrite/internal.build=%BUILD% + +:CHECK_BIN + if exist "bin" goto :ALL_SET + mkdir "bin" + +:ALL_SET + set CGO_ENABLED=1 + for /D %%P in (cmd\*) do ( + go build -trimpath -ldflags "%FLAGS%" -v -o ".\bin" ".\%%P" + ) + + set CGO_ENABLED=0 + set GOOS=js + set GOARCH=wasm + go build -trimpath -ldflags "%FLAGS%" -o bin\main.wasm .\cmd\dendritejs-pinecone + + goto :DONE + +:DONE + echo Done + endlocal
\ No newline at end of file |