mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
27 lines
1.2 KiB
PowerShell
27 lines
1.2 KiB
PowerShell
$ErrorActionPreference = "Stop"
|
|
|
|
cd "$PSScriptRoot\.."
|
|
|
|
if ("$Env:FORCE_RELEASE" -Or "$Env:CIRCLE_TAG") {
|
|
New-Item prerelease.txt -type file
|
|
Write-Host "Building release version."
|
|
}
|
|
else {
|
|
# Use last commit date rather than build date to avoid ending up with builds for
|
|
# different platforms having different version strings (and therefore producing different bytecode)
|
|
# if the CI is triggered just before midnight.
|
|
$last_commit_timestamp = git log -1 --date=unix --format=%ad HEAD
|
|
$last_commit_date = (Get-Date -Date "1970-01-01 00:00:00Z").toUniversalTime().addSeconds($last_commit_timestamp).ToString("yyyy.M.d")
|
|
-join("ci.", $last_commit_date) | out-file -encoding ascii prerelease.txt
|
|
}
|
|
|
|
mkdir build
|
|
cd build
|
|
$boost_dir=(Resolve-Path $PSScriptRoot\..\deps\boost\lib\cmake\Boost-*)
|
|
..\deps\cmake\bin\cmake -G "Visual Studio 16 2019" -DBoost_DIR="$boost_dir\" -DCMAKE_MSVC_RUNTIME_LIBRARY=MultiThreaded -DCMAKE_INSTALL_PREFIX="$PSScriptRoot\..\upload" ..
|
|
if ( -not $? ) { throw "CMake configure failed." }
|
|
msbuild solidity.sln /p:Configuration=Release /m:5 /v:minimal
|
|
if ( -not $? ) { throw "Build failed." }
|
|
..\deps\cmake\bin\cmake --build . -j 5 --target install --config Release
|
|
if ( -not $? ) { throw "Install target failed." }
|