fix: 4JLibs building, windows64 files not copying & add buildsteps to solution filter

This commit is contained in:
2026-08-08 20:56:23 -04:00
parent 9cba342973
commit af2040a849
7 changed files with 70 additions and 89 deletions
+18 -7
View File
@@ -4,20 +4,31 @@ param(
[string]$Configuration
)
if ($ProjectDir -match "Minecraft.World") {
$BaseDir = "$ProjectDir..\Minecraft.Client\"
} elseif ($ProjectDir -match "Minecraft.Client") {
$BaseDir = $ProjectDir
} else {
Write-Host "4JLibs: Unknown project directory: '$ProjectDir'"
exit 1
}
switch ($Platform) {
"x64" { $LibsDir = Join-Path $ProjectDir "Windows64\4JLibs\"; $ExpectedCount = 4; $PlatformName = "Windows64" }
"Durango" { $LibsDir = Join-Path $ProjectDir "Durango\4JLibs\"; $ExpectedCount = 4; $PlatformName = "Durango" }
"Xbox 360" { $LibsDir = Join-Path $ProjectDir "Xbox\4JLibs\"; $ExpectedCount = 5; $PlatformName = "Xbox" }
"PS3" { $LibsDir = Join-Path $ProjectDir "PS3\4JLibs\"; $ExpectedCount = 4; $PlatformName = "PS3" }
"Orbis" { $LibsDir = Join-Path $ProjectDir "Orbis\4JLibs\"; $ExpectedCount = 4; $PlatformName = "Orbis" }
"PSVita" { $LibsDir = Join-Path $ProjectDir "PSVita\4JLibs\"; $ExpectedCount = 4; $PlatformName = "PSVita" }
"x64" { $LibsDir = Join-Path $BaseDir "Windows64\4JLibs\"; $ExpectedCount = 4; $PlatformName = "Windows64" }
"Durango" { $LibsDir = Join-Path $BaseDir "Durango\4JLibs\"; $ExpectedCount = 4; $PlatformName = "Durango" }
"Xbox 360" { $LibsDir = Join-Path $BaseDir "Xbox\4JLibs\"; $ExpectedCount = 5; $PlatformName = "Xbox" }
"PS3" { $LibsDir = Join-Path $BaseDir "PS3\4JLibs\"; $ExpectedCount = 4; $PlatformName = "PS3" }
"Orbis" { $LibsDir = Join-Path $BaseDir "Orbis\4JLibs\"; $ExpectedCount = 4; $PlatformName = "Orbis" }
"PSVita" { $LibsDir = Join-Path $BaseDir "PSVita\4JLibs\"; $ExpectedCount = 4; $PlatformName = "PSVita" }
default { Write-Host "4JLibs: Unknown platform: '$Platform'"; exit 1 }
}
if ($Configuration -match "ContentPackage" -or $Configuration -match "Release") {
$BuildConfig = "Release"
} elseif ($Configuration -match "Debug") {
$BuildConfig = "Debug"
} else {
Write-Host "4JLibs: Configuration did not match Release or ContentPackage, defaulting to Debug"
Write-Host "4JLibs: Configuration did not match any known patterns, defaulting to Debug"
$BuildConfig = "Debug"
}
@@ -26,7 +26,7 @@ $folderCopies = @(
@{ Source = "Windows64Media"; Dest = "Windows64Media" },
#@{ Source = "PSVita\Tutorial"; Dest = "Windows64Media\Tutorial" }, # str1k3r - doesnt even work bru
@{ Source = "Windows64\Sound"; Dest = "Windows64Media\Sound" },
@{ Source = "Common\Postbuilds\Contents\Windows64\redist64"; Dest = "redist64" }
@{ Source = Join-Path $PSScriptRoot "Contents\Windows64\redist64"; Dest = "redist64" }
)
foreach ($copy in $folderCopies) {
@@ -39,17 +39,18 @@ foreach ($copy in $folderCopies) {
}
$fileCopies = @(
@{ Source = "Common\Postbuilds\Contents\Windows64\Effects.msscmp"; Dest = "Effects.msscmp" },
@{ Source = "Common\Postbuilds\Contents\Windows64\iggy_w64.dll"; Dest = "iggy_w64.dll" },
@{ Source = "Common\Postbuilds\Contents\Windows64\mss64.dll"; Dest = "mss64.dll" }
@{ Source = Join-Path $PSScriptRoot "Contents\Windows64\iggy_w64.dll"; Dest = "iggy_w64.dll" },
@{ Source = Join-Path $PSScriptRoot "Contents\Windows64\mss64.dll"; Dest = "mss64.dll" }
)
foreach ($copy in $fileCopies) {
$src = Join-Path $ProjectDir $copy.Source
$src = $copy.Source
$dst = Join-Path $OutDir $copy.Dest
if (Test-Path $src) {
Copy-Item -Path $src -Destination $dst -Force
}
} else {
Write-Host "Windows64 Postbuild: source not found, skipping: $src"
}
}
$deleteDirs = @(
+2 -2
View File
@@ -501,7 +501,7 @@
</CustomBuildBeforeTargets>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<LinkIncremental>true</LinkIncremental>
<LinkIncremental>false</LinkIncremental>
<IncludePath>$(ProjectDir)\..\Minecraft.World\x64headers;$(ProjectDir)\Windows64\Sentient\Include;$(IncludePath)</IncludePath>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Durango'">
@@ -2315,7 +2315,7 @@ xcopy /q /y /i /s /e $(ProjectDir)Durango\CU $(LayoutDir)Image\Loose\CU</Comman
<FileType>XML</FileType>
<SubType>Designer</SubType>
</Xml>
<None Include="Common\Buildsteps\Check4JLibs.ps1" />
<None Include="Common\Buildsteps\4JLibs.ps1" />
<None Include="Common\Buildsteps\Durango-postbuild.ps1" />
<None Include="Common\Buildsteps\Orbis-postbuild.ps1" />
<None Include="Common\Buildsteps\PS3-postbuild.ps1" />
@@ -726,6 +726,9 @@
<Filter Include="net\minecraft\client\resources">
<UniqueIdentifier>{889a84db-3009-4a7c-8234-4bf93d412690}</UniqueIdentifier>
</Filter>
<Filter Include="Buildsteps">
<UniqueIdentifier>{e5d64ee9-2601-46fd-9b18-254dae9cd85e}</UniqueIdentifier>
</Filter>
</ItemGroup>
<ItemGroup>
<None Include="ReadMe.txt" />
@@ -884,13 +887,27 @@
<None Include="PSVita\Iggy\gdraw\gdraw_shared.inl">
<Filter>PSVita\Iggy\gdraw</Filter>
</None>
<None Include="Common\Buildsteps\Durango-postbuild.ps1" />
<None Include="Common\Buildsteps\Orbis-postbuild.ps1" />
<None Include="Common\Buildsteps\PS3-postbuild.ps1" />
<None Include="Common\Buildsteps\PSVita-postbuild.ps1" />
<None Include="Common\Buildsteps\Windows64-postbuild.ps1" />
<None Include="Common\Buildsteps\Xbox-postbuild.ps1" />
<None Include="Common\Buildsteps\Check4JLibs.ps1" />
<None Include="Common\Buildsteps\Xbox-postbuild.ps1">
<Filter>Buildsteps</Filter>
</None>
<None Include="Common\Buildsteps\Windows64-postbuild.ps1">
<Filter>Buildsteps</Filter>
</None>
<None Include="Common\Buildsteps\PSVita-postbuild.ps1">
<Filter>Buildsteps</Filter>
</None>
<None Include="Common\Buildsteps\PS3-postbuild.ps1">
<Filter>Buildsteps</Filter>
</None>
<None Include="Common\Buildsteps\Orbis-postbuild.ps1">
<Filter>Buildsteps</Filter>
</None>
<None Include="Common\Buildsteps\Durango-postbuild.ps1">
<Filter>Buildsteps</Filter>
</None>
<None Include="Common\Buildsteps\4JLibs.ps1">
<Filter>Buildsteps</Filter>
</None>
</ItemGroup>
<ItemGroup>
<ClInclude Include="stdafx.h">
+18 -66
View File
@@ -819,17 +819,9 @@
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
<PreBuildEvent>
<Command>if not exist "$(SolutionDir)Minecraft.Client\Windows64\4JLibs\libs" (
for %%C in (Debug Release) do (
"C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe" "$(SolutionDir)Minecraft.Client\Windows64\4JLibs\4JLibs.sln" /p:Platform=Windows64 /p:Configuration=%%C /v:minimal
if errorlevel 1 (
echo 4JLibs build failed for %%C
exit /b 1
)
)
xcopy "$(SolutionDir)Minecraft.Client\Windows64\4JLibs\Headers\Windows64" "$(SolutionDir)Minecraft.Client\Windows64\4JLibs\inc" /E /I /Y
)</Command>
<Message>Build 4JLibs</Message>
<Command>powershell -ExecutionPolicy Bypass -File "$(SolutionDir)Minecraft.Client/Common/Buildsteps/4JLibs.ps1" -Platform "$(Platform)" -Configuration "$(Configuration)" -ProjectDir "$(ProjectDir)/"</Command>
<Message>
</Message>
</PreBuildEvent>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Durango'">
@@ -883,19 +875,11 @@
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
<PreBuildEvent>
<Command>if not exist "$(SolutionDir)Minecraft.Client\Windows64\4JLibs\libs" (
for %%C in (Debug Release) do (
"C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe" "$(SolutionDir)Minecraft.Client\Windows64\4JLibs\4JLibs.sln" /p:Platform=Windows64 /p:Configuration=%%C /v:minimal
if errorlevel 1 (
echo 4JLibs build failed for %%C
exit /b 1
)
)
xcopy "$(SolutionDir)Minecraft.Client\Windows64\4JLibs\Headers\Windows64" "$(SolutionDir)Minecraft.Client\Windows64\4JLibs\inc" /E /I /Y
)</Command>
<Command>powershell -ExecutionPolicy Bypass -File "$(SolutionDir)Minecraft.Client/Common/Buildsteps/4JLibs.ps1" -Platform "$(Platform)" -Configuration "$(Configuration)" -ProjectDir "$(ProjectDir)/"</Command>
</PreBuildEvent>
<PreBuildEvent>
<Message>Build 4JLibs</Message>
<Message>
</Message>
</PreBuildEvent>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Durango'">
@@ -1276,17 +1260,9 @@
<OptimizeReferences>true</OptimizeReferences>
</Link>
<PreBuildEvent>
<Command>if not exist "$(SolutionDir)Minecraft.Client\Windows64\4JLibs\libs" (
for %%C in (Debug Release) do (
"C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe" "$(SolutionDir)Minecraft.Client\Windows64\4JLibs\4JLibs.sln" /p:Platform=Windows64 /p:Configuration=%%C /v:minimal
if errorlevel 1 (
echo 4JLibs build failed for %%C
exit /b 1
)
)
xcopy "$(SolutionDir)Minecraft.Client\Windows64\4JLibs\Headers\Windows64" "$(SolutionDir)Minecraft.Client\Windows64\4JLibs\inc" /E /I /Y
)</Command>
<Message>Build 4JLibs</Message>
<Command>powershell -ExecutionPolicy Bypass -File "$(SolutionDir)Minecraft.Client/Common/Buildsteps/4JLibs.ps1" -Platform "$(Platform)" -Configuration "$(Configuration)" -ProjectDir "$(ProjectDir)/"</Command>
<Message>
</Message>
</PreBuildEvent>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='CONTENTPACKAGE_SYMBOLS|x64'">
@@ -1312,17 +1288,9 @@
<OptimizeReferences>true</OptimizeReferences>
</Link>
<PreBuildEvent>
<Command>if not exist "$(SolutionDir)Minecraft.Client\Windows64\4JLibs\libs" (
for %%C in (Debug Release) do (
"C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe" "$(SolutionDir)Minecraft.Client\Windows64\4JLibs\4JLibs.sln" /p:Platform=Windows64 /p:Configuration=%%C /v:minimal
if errorlevel 1 (
echo 4JLibs build failed for %%C
exit /b 1
)
)
xcopy "$(SolutionDir)Minecraft.Client\Windows64\4JLibs\Headers\Windows64" "$(SolutionDir)Minecraft.Client\Windows64\4JLibs\inc" /E /I /Y
)</Command>
<Message>Build 4JLibs</Message>
<Command>powershell -ExecutionPolicy Bypass -File "$(SolutionDir)Minecraft.Client/Common/Buildsteps/4JLibs.ps1" -Platform "$(Platform)" -Configuration "$(Configuration)" -ProjectDir "$(ProjectDir)/"</Command>
<Message>
</Message>
</PreBuildEvent>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseForArt|x64'">
@@ -1348,17 +1316,9 @@
<OptimizeReferences>true</OptimizeReferences>
</Link>
<PreBuildEvent>
<Command>if not exist "$(SolutionDir)Minecraft.Client\Windows64\4JLibs\libs" (
for %%C in (Debug Release) do (
"C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe" "$(SolutionDir)Minecraft.Client\Windows64\4JLibs\4JLibs.sln" /p:Platform=Windows64 /p:Configuration=%%C /v:minimal
if errorlevel 1 (
echo 4JLibs build failed for %%C
exit /b 1
)
)
xcopy "$(SolutionDir)Minecraft.Client\Windows64\4JLibs\Headers\Windows64" "$(SolutionDir)Minecraft.Client\Windows64\4JLibs\inc" /E /I /Y
)</Command>
<Message>Build 4JLibs</Message>
<Command>powershell -ExecutionPolicy Bypass -File "$(SolutionDir)Minecraft.Client/Common/Buildsteps/4JLibs.ps1" -Platform "$(Platform)" -Configuration "$(Configuration)" -ProjectDir "$(ProjectDir)/"</Command>
<Message>
</Message>
</PreBuildEvent>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='ContentPackage_NO_TU|x64'">
@@ -1384,17 +1344,9 @@
<OptimizeReferences>true</OptimizeReferences>
</Link>
<PreBuildEvent>
<Command>if not exist "$(SolutionDir)Minecraft.Client\Windows64\4JLibs\libs" (
for %%C in (Debug Release) do (
"C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe" "$(SolutionDir)Minecraft.Client\Windows64\4JLibs\4JLibs.sln" /p:Platform=Windows64 /p:Configuration=%%C /v:minimal
if errorlevel 1 (
echo 4JLibs build failed for %%C
exit /b 1
)
)
xcopy "$(SolutionDir)Minecraft.Client\Windows64\4JLibs\Headers\Windows64" "$(SolutionDir)Minecraft.Client\Windows64\4JLibs\inc" /E /I /Y
)</Command>
<Message>Build 4JLibs</Message>
<Command>powershell -ExecutionPolicy Bypass -File "$(SolutionDir)Minecraft.Client/Common/Buildsteps/4JLibs.ps1" -Platform "$(Platform)" -Configuration "$(Configuration)" -ProjectDir "$(ProjectDir)/"</Command>
<Message>
</Message>
</PreBuildEvent>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='ContentPackage|Durango'">