bullock/scripts/setup-build.ps1
2018-10-14 19:07:06 -05:00

52 lines
1.4 KiB
PowerShell
Executable File

#! /usr/bin/env pwsh
Param(
[parameter(Mandatory=$true,Position=0)][String] ${target},
[parameter(Mandatory=$true,Position=1)][String] ${buildType}
)
$project=(Get-Location).Path
if (${target} -eq "windows") {
$toolchain="-DCMAKE_TOOLCHAIN_FILE=cmake/Modules/Mingw.cmake"
} elseif (${target} -eq "gba") {
$toolchain="-DCMAKE_TOOLCHAIN_FILE=cmake/Modules/GBA.cmake"
$oxUseStdLib="-DOX_USE_STDLIB=OFF"
}
if (${buildType} -eq "asan") {
$buildTypeArgs="-DUSE_ASAN=ON -DCMAKE_BUILD_TYPE=Debug"
} elseif (${buildType} -eq "debug") {
$buildTypeArgs="-DCMAKE_BUILD_TYPE=Debug"
} elseif (${buildType} -eq "release") {
$buildTypeArgs="-DCMAKE_BUILD_TYPE=Release"
}
if (${env:QTDIR} -ne "") {
$qtPath="-DQTDIR=${env:QTDIR}"
}
$buildDir="${project}/build/${target}-${buildType}"
$distDir="${project}/dist/${target}-${buildType}"
New-Item -ItemType Directory -Path $buildDir | Out-Null
Push-Location $buildDir
cmake -DCMAKE_EXPORT_COMPILE_COMMANDS=ON `
-DCMAKE_INSTALL_PREFIX="$distDir" `
-G Ninja `
$buildTool `
$nostalgiaBuildType `
$oxUseStdLib `
$buildTypeArgs `
$qtPath `
$toolchain `
$project
Pop-Location
rm -f build/current dist/current
if (!(Test-Path -Path dist)) {
New-Item -ItemType Directory -Path dist | Out-Null
}
ln -s ${target}-${buildType} build/current
ln -s ${target}-${buildType} dist/current