Move project to CMake (#781)
* Move to cmake * Move sources to source_groups and ditch more old VS files * Add BuildVer.h generation * Break out cmake source lists to platforms * Don't copy swf files * Revert audio changes from merge * Add platform defines * Match MSBuild flags * Move BuildVer.h to common include and fix rebuild issue * Seperate projects properly * Exclude more files and make sure GameHDD exists * Missing line * Remove remaining VS project files * Update readme and actions * Use incremental LTCG * Update workflows * Update build workflows and output folder * Disable vcpkg checks * Force MSVC * Use precompiled headers * Only use PCH for cpp * Exclude compat_shims from PCH * Handle per-platform source includes * Copy only current platform media * Define Iggy libs per platform * Fix EnsureGameHDD check * Only set WIN32_EXECUTABLE on Windows * Correct Iggy libs path * Remove include of terrain_MipmapLevel * Correct path to xsb/xwb * Implement copilot suggestions * Add clang flags (untested) * Fix robocopy error checking * Update documentation * Drop CMakePresets.json version as we dont use v6 features * Always cleanup artifacts in nightly even if some builds fail * Re-work compiler target options * Move newer iggy dll into redist and cleanup * Fix typos * Remove 'Source Files' from all source groups * Remove old ps1 build scripts
This commit is contained in:
@@ -1,65 +0,0 @@
|
||||
param(
|
||||
[string]$OutDir,
|
||||
[string]$ProjectRoot,
|
||||
[string]$Configuration
|
||||
)
|
||||
|
||||
if ([string]::IsNullOrWhiteSpace($OutDir)) {
|
||||
throw "OutDir is required."
|
||||
}
|
||||
|
||||
if ([string]::IsNullOrWhiteSpace($ProjectRoot)) {
|
||||
$ProjectRoot = Resolve-Path (Join-Path $PSScriptRoot "..\\..")
|
||||
}
|
||||
|
||||
if ([string]::IsNullOrWhiteSpace($Configuration)) {
|
||||
$Configuration = "Debug"
|
||||
}
|
||||
|
||||
$OutDir = [System.IO.Path]::GetFullPath($OutDir)
|
||||
$ProjectRoot = [System.IO.Path]::GetFullPath($ProjectRoot)
|
||||
$ClientRoot = Join-Path $ProjectRoot "Minecraft.Client"
|
||||
|
||||
Write-Host "Server post-build started. OutDir: $OutDir"
|
||||
|
||||
function Ensure-Dir([string]$path) {
|
||||
if (-not (Test-Path $path)) {
|
||||
New-Item -ItemType Directory -Path $path -Force | Out-Null
|
||||
}
|
||||
}
|
||||
|
||||
function Copy-Tree-IfExists([string]$src, [string]$dst) {
|
||||
if (Test-Path $src) {
|
||||
Ensure-Dir $dst
|
||||
xcopy /q /y /i /s /e /d "$src" "$dst" 2>$null | Out-Null
|
||||
}
|
||||
}
|
||||
|
||||
function Copy-File-IfExists([string]$src, [string]$dst) {
|
||||
if (Test-Path $src) {
|
||||
$dstDir = Split-Path -Parent $dst
|
||||
Ensure-Dir $dstDir
|
||||
xcopy /q /y /d "$src" "$dstDir" 2>$null | Out-Null
|
||||
}
|
||||
}
|
||||
|
||||
function Copy-FirstExisting([string[]]$candidates, [string]$dstFile) {
|
||||
foreach ($candidate in $candidates) {
|
||||
if (Test-Path $candidate) {
|
||||
Copy-File-IfExists $candidate $dstFile
|
||||
return
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# Dedicated server only needs core resources for current startup path.
|
||||
Copy-File-IfExists (Join-Path $ClientRoot "Common\\Media\\MediaWindows64.arc") (Join-Path $OutDir "Common\\Media\\MediaWindows64.arc")
|
||||
Copy-Tree-IfExists (Join-Path $ClientRoot "Common\\res") (Join-Path $OutDir "Common\\res")
|
||||
Copy-Tree-IfExists (Join-Path $ClientRoot "Windows64\\GameHDD") (Join-Path $OutDir "Windows64\\GameHDD")
|
||||
|
||||
# Runtime DLLs.
|
||||
Copy-FirstExisting @(
|
||||
(Join-Path $ClientRoot "Windows64\\Iggy\\lib\\redist64\\iggy_w64.dll"),
|
||||
(Join-Path $ProjectRoot ("x64\\{0}\\iggy_w64.dll" -f $Configuration))
|
||||
) (Join-Path $OutDir "iggy_w64.dll")
|
||||
|
||||
Reference in New Issue
Block a user