randomx
This commit is contained in:
@@ -0,0 +1,25 @@
|
||||
[CmdletBinding()]
|
||||
param(
|
||||
[string]$BuildDirectory = (Join-Path $PSScriptRoot '../native/build'),
|
||||
[string]$Generator = '',
|
||||
[ValidateRange(1, 64)][int]$Jobs = 2,
|
||||
[switch]$Test
|
||||
)
|
||||
$ErrorActionPreference = 'Stop'
|
||||
$SourceDirectory = [System.IO.Path]::GetFullPath((Join-Path $PSScriptRoot '../native'))
|
||||
$BuildDirectory = [System.IO.Path]::GetFullPath($BuildDirectory)
|
||||
if (-not (Get-Command cmake -ErrorAction SilentlyContinue)) { throw 'CMake 3.24+ is required.' }
|
||||
if (-not (Get-Command git -ErrorAction SilentlyContinue)) { throw 'Git is required to fetch pinned RandomX.' }
|
||||
$NativeTests = if ($Test) { 'ON' } else { 'OFF' }
|
||||
$ConfigureArguments = @('-S', $SourceDirectory, '-B', $BuildDirectory,
|
||||
'-DCMAKE_BUILD_TYPE=Release', "-DWIKIDECK_RANDOMX_TESTS=$NativeTests")
|
||||
if ($Generator) { $ConfigureArguments += @('-G', $Generator) }
|
||||
& cmake @ConfigureArguments
|
||||
if ($LASTEXITCODE -ne 0) { throw 'RandomX CMake configuration failed.' }
|
||||
& cmake --build $BuildDirectory --config Release --target wikideck-randomx --parallel $Jobs
|
||||
if ($LASTEXITCODE -ne 0) { throw 'RandomX native build failed.' }
|
||||
if ($Test) {
|
||||
& ctest --test-dir $BuildDirectory -C Release --output-on-failure
|
||||
if ($LASTEXITCODE -ne 0) { throw 'RandomX known-vector test failed.' }
|
||||
}
|
||||
Write-Host "Built native RandomX engine in $BuildDirectory"
|
||||
Reference in New Issue
Block a user