From f786b30ea0e4a5936be12e03fc41a0c6a4347339 Mon Sep 17 00:00:00 2001 From: Jorijn van der Graaf Date: Sun, 1 Mar 2026 08:48:07 +0100 Subject: [PATCH] windows build --- build.ps1 | 56 +++++++++++++++++++++++++++---------------------------- 1 file changed, 28 insertions(+), 28 deletions(-) diff --git a/build.ps1 b/build.ps1 index 998e080..57a733e 100644 --- a/build.ps1 +++ b/build.ps1 @@ -34,38 +34,38 @@ $latestVulkanVersion = $folders | Sort-Object { [Version]$_.Name } -Descending | $vulkanSDKPath = Join-Path -Path $vulkanBasePath -ChildPath (Join-Path -Path $latestVulkanVersion.Name -ChildPath "Include") $vulkanSDKPathLib = Join-Path -Path $vulkanBasePath -ChildPath (Join-Path -Path $latestVulkanVersion.Name -ChildPath "Lib") -clang-cl --target=x86_64-pc-windows-msvc /std:c++latest -Wno-include-angled-in-module-purview -Wno-reserved-identifier -Wno-reserved-module-identifier --precompile .\build\std.cppm -o .\build\std.pcm +clang++ -target x86_64-pc-windows-msvc -std=c++26 -Winclude-angled-in-module-purview -Wno-reserved-identifier -Wno-reserved-module-identifier --precompile .\build\std.cppm -o .\build\std.pcm -clang-cl --target=x86_64-pc-windows-msvc /std:c++latest /D CRAFTER_BUILD_CONFIGURATION_TARGET_x86_64_pc_windows_msvc /D CRAFTER_BUILD_CONFIGURATION_TYPE_EXECUTABLE -I"$vulkanSDKPath" --precompile -fprebuilt-module-path=".\build" interfaces\Crafter.Build-CompileStatus.cppm -o .\build\Crafter.Build-CompileStatus.pcm -clang-cl --target=x86_64-pc-windows-msvc /std:c++latest /D CRAFTER_BUILD_CONFIGURATION_TARGET_x86_64_pc_windows_msvc /D CRAFTER_BUILD_CONFIGURATION_TYPE_EXECUTABLE -I"$vulkanSDKPath" --precompile -fprebuilt-module-path=".\build" interfaces\Crafter.Build-Command.cppm -o .\build\Crafter.Build-Command.pcm -clang-cl --target=x86_64-pc-windows-msvc /std:c++latest /D CRAFTER_BUILD_CONFIGURATION_TARGET_x86_64_pc_windows_msvc /D CRAFTER_BUILD_CONFIGURATION_TYPE_EXECUTABLE -I"$vulkanSDKPath" --precompile -fprebuilt-module-path=".\build" interfaces\Crafter.Build-Shader.cppm -o .\build\Crafter.Build-Shader.pcm -clang-cl --target=x86_64-pc-windows-msvc /std:c++latest /D CRAFTER_BUILD_CONFIGURATION_TARGET_x86_64_pc_windows_msvc /D CRAFTER_BUILD_CONFIGURATION_TYPE_EXECUTABLE -I"$vulkanSDKPath" --precompile -fprebuilt-module-path=".\build" interfaces\Crafter.Build-Module.cppm -o .\build\Crafter.Build-Module.pcm -clang-cl --target=x86_64-pc-windows-msvc /std:c++latest /D CRAFTER_BUILD_CONFIGURATION_TARGET_x86_64_pc_windows_msvc /D CRAFTER_BUILD_CONFIGURATION_TYPE_EXECUTABLE -I"$vulkanSDKPath" --precompile -fprebuilt-module-path=".\build" interfaces\Crafter.Build-Implementation.cppm -o .\build\Crafter.Build-Implementation.pcm -clang-cl --target=x86_64-pc-windows-msvc /std:c++latest /D CRAFTER_BUILD_CONFIGURATION_TARGET_x86_64_pc_windows_msvc /D CRAFTER_BUILD_CONFIGURATION_TYPE_EXECUTABLE -I"$vulkanSDKPath" --precompile -fprebuilt-module-path=".\build" interfaces\Crafter.Build-Configuration.cppm -o .\build\Crafter.Build-Configuration.pcm -clang-cl --target=x86_64-pc-windows-msvc /std:c++latest /D CRAFTER_BUILD_CONFIGURATION_TARGET_x86_64_pc_windows_msvc /D CRAFTER_BUILD_CONFIGURATION_TYPE_EXECUTABLE -I"$vulkanSDKPath" --precompile -fprebuilt-module-path=".\build" interfaces\Crafter.Build-Test.cppm -o .\build\Crafter.Build-Test.pcm -clang-cl --target=x86_64-pc-windows-msvc /std:c++latest /D CRAFTER_BUILD_CONFIGURATION_TARGET_x86_64_pc_windows_msvc /D CRAFTER_BUILD_CONFIGURATION_TYPE_EXECUTABLE -I"$vulkanSDKPath" --precompile -fprebuilt-module-path=".\build" interfaces\Crafter.Build-Project.cppm -o .\build\Crafter.Build-Project.pcm -clang-cl --target=x86_64-pc-windows-msvc /std:c++latest /D CRAFTER_BUILD_CONFIGURATION_TARGET_x86_64_pc_windows_msvc /D CRAFTER_BUILD_CONFIGURATION_TYPE_EXECUTABLE -I"$vulkanSDKPath" --precompile -fprebuilt-module-path=".\build" /D CRAFTER_BUILD_CONFIGURATION_TYPE_EXECUTABLE interfaces\Crafter.Build.cppm -o .\build\Crafter.Build.pcm +clang++ -target x86_64-pc-windows-msvc -std=c++26 -D CRAFTER_BUILD_CONFIGURATION_TARGET_x86_64_pc_windows_msvc -D CRAFTER_BUILD_CONFIGURATION_TYPE_EXECUTABLE -I"$vulkanSDKPath" --precompile -fprebuilt-module-path=".\build" interfaces\Crafter.Build-CompileStatus.cppm -o .\build\Crafter.Build-CompileStatus.pcm +clang++ -target x86_64-pc-windows-msvc -std=c++26 -D CRAFTER_BUILD_CONFIGURATION_TARGET_x86_64_pc_windows_msvc -D CRAFTER_BUILD_CONFIGURATION_TYPE_EXECUTABLE -I"$vulkanSDKPath" --precompile -fprebuilt-module-path=".\build" interfaces\Crafter.Build-Command.cppm -o .\build\Crafter.Build-Command.pcm +clang++ -target x86_64-pc-windows-msvc -std=c++26 -D CRAFTER_BUILD_CONFIGURATION_TARGET_x86_64_pc_windows_msvc -D CRAFTER_BUILD_CONFIGURATION_TYPE_EXECUTABLE -I"$vulkanSDKPath" --precompile -fprebuilt-module-path=".\build" interfaces\Crafter.Build-Shader.cppm -o .\build\Crafter.Build-Shader.pcm +clang++ -target x86_64-pc-windows-msvc -std=c++26 -D CRAFTER_BUILD_CONFIGURATION_TARGET_x86_64_pc_windows_msvc -D CRAFTER_BUILD_CONFIGURATION_TYPE_EXECUTABLE -I"$vulkanSDKPath" --precompile -fprebuilt-module-path=".\build" interfaces\Crafter.Build-Module.cppm -o .\build\Crafter.Build-Module.pcm +clang++ -target x86_64-pc-windows-msvc -std=c++26 -D CRAFTER_BUILD_CONFIGURATION_TARGET_x86_64_pc_windows_msvc -D CRAFTER_BUILD_CONFIGURATION_TYPE_EXECUTABLE -I"$vulkanSDKPath" --precompile -fprebuilt-module-path=".\build" interfaces\Crafter.Build-Implementation.cppm -o .\build\Crafter.Build-Implementation.pcm +clang++ -target x86_64-pc-windows-msvc -std=c++26 -D CRAFTER_BUILD_CONFIGURATION_TARGET_x86_64_pc_windows_msvc -D CRAFTER_BUILD_CONFIGURATION_TYPE_EXECUTABLE -I"$vulkanSDKPath" --precompile -fprebuilt-module-path=".\build" interfaces\Crafter.Build-Configuration.cppm -o .\build\Crafter.Build-Configuration.pcm +clang++ -target x86_64-pc-windows-msvc -std=c++26 -D CRAFTER_BUILD_CONFIGURATION_TARGET_x86_64_pc_windows_msvc -D CRAFTER_BUILD_CONFIGURATION_TYPE_EXECUTABLE -I"$vulkanSDKPath" --precompile -fprebuilt-module-path=".\build" interfaces\Crafter.Build-Test.cppm -o .\build\Crafter.Build-Test.pcm +clang++ -target x86_64-pc-windows-msvc -std=c++26 -D CRAFTER_BUILD_CONFIGURATION_TARGET_x86_64_pc_windows_msvc -D CRAFTER_BUILD_CONFIGURATION_TYPE_EXECUTABLE -I"$vulkanSDKPath" --precompile -fprebuilt-module-path=".\build" interfaces\Crafter.Build-Project.cppm -o .\build\Crafter.Build-Project.pcm +clang++ -target x86_64-pc-windows-msvc -std=c++26 -D CRAFTER_BUILD_CONFIGURATION_TARGET_x86_64_pc_windows_msvc -D CRAFTER_BUILD_CONFIGURATION_TYPE_EXECUTABLE -I"$vulkanSDKPath" --precompile -fprebuilt-module-path=".\build" -D CRAFTER_BUILD_CONFIGURATION_TYPE_EXECUTABLE interfaces\Crafter.Build.cppm -o .\build\Crafter.Build.pcm -clang-cl --target=x86_64-pc-windows-msvc /std:c++latest /MD -march=native -mtune=native /Ot -fprebuilt-module-path=".\build" -c .\build\Crafter.Build-Command.pcm -o .\build\Crafter.Build-Command.o -clang-cl --target=x86_64-pc-windows-msvc /std:c++latest /MD -march=native -mtune=native /Ot -fprebuilt-module-path=".\build" -c .\build\Crafter.Build-Shader.pcm -o .\build\Crafter.Build-Shader.o -clang-cl --target=x86_64-pc-windows-msvc /std:c++latest /MD -march=native -mtune=native /Ot -fprebuilt-module-path=".\build" -c .\build\Crafter.Build-Module.pcm -o .\build\Crafter.Build-Module.o -clang-cl --target=x86_64-pc-windows-msvc /std:c++latest /MD -march=native -mtune=native /Ot -fprebuilt-module-path=".\build" -c .\build\Crafter.Build-Implementation.pcm -o .\build\Crafter.Build-Implementation.o -clang-cl --target=x86_64-pc-windows-msvc /std:c++latest /MD -march=native -mtune=native /Ot -fprebuilt-module-path=".\build" -c .\build\Crafter.Build-Configuration.pcm -o .\build\Crafter.Build-Configuration.o -clang-cl --target=x86_64-pc-windows-msvc /std:c++latest /MD -march=native -mtune=native /Ot -fprebuilt-module-path=".\build" -c .\build\Crafter.Build-Project.pcm -o .\build\Crafter.Build-Project.o -clang-cl --target=x86_64-pc-windows-msvc /std:c++latest /MD -march=native -mtune=native /Ot -fprebuilt-module-path=".\build" -c .\build\Crafter.Build-Test.pcm -o .\build\Crafter.Build-Test.o -clang-cl --target=x86_64-pc-windows-msvc /std:c++latest /MD -march=native -mtune=native /Ot -fprebuilt-module-path=".\build" -c .\build\Crafter.Build-CompileStatus.pcm -o .\build\Crafter.Build-CompileStatus.o -clang-cl --target=x86_64-pc-windows-msvc /std:c++latest /MD -march=native -mtune=native /Ot -fprebuilt-module-path=".\build" -c .\build\Crafter.Build.pcm -o .\build\Crafter.Build.o +clang++ -target x86_64-pc-windows-msvc -std=c++26 -nostdlib -march=native -mtune=native -O3 -fprebuilt-module-path=".\build" -c .\build\Crafter.Build-Command.pcm -o .\build\Crafter.Build-Command.o +clang++ -target x86_64-pc-windows-msvc -std=c++26 -nostdlib -march=native -mtune=native -O3 -fprebuilt-module-path=".\build" -c .\build\Crafter.Build-Shader.pcm -o .\build\Crafter.Build-Shader.o +clang++ -target x86_64-pc-windows-msvc -std=c++26 -nostdlib -march=native -mtune=native -O3 -fprebuilt-module-path=".\build" -c .\build\Crafter.Build-Module.pcm -o .\build\Crafter.Build-Module.o +clang++ -target x86_64-pc-windows-msvc -std=c++26 -nostdlib -march=native -mtune=native -O3 -fprebuilt-module-path=".\build" -c .\build\Crafter.Build-Implementation.pcm -o .\build\Crafter.Build-Implementation.o +clang++ -target x86_64-pc-windows-msvc -std=c++26 -nostdlib -march=native -mtune=native -O3 -fprebuilt-module-path=".\build" -c .\build\Crafter.Build-Configuration.pcm -o .\build\Crafter.Build-Configuration.o +clang++ -target x86_64-pc-windows-msvc -std=c++26 -nostdlib -march=native -mtune=native -O3 -fprebuilt-module-path=".\build" -c .\build\Crafter.Build-Project.pcm -o .\build\Crafter.Build-Project.o +clang++ -target x86_64-pc-windows-msvc -std=c++26 -nostdlib -march=native -mtune=native -O3 -fprebuilt-module-path=".\build" -c .\build\Crafter.Build-Test.pcm -o .\build\Crafter.Build-Test.o +clang++ -target x86_64-pc-windows-msvc -std=c++26 -nostdlib -march=native -mtune=native -O3 -fprebuilt-module-path=".\build" -c .\build\Crafter.Build-CompileStatus.pcm -o .\build\Crafter.Build-CompileStatus.o +clang++ -target x86_64-pc-windows-msvc -std=c++26 -nostdlib -march=native -mtune=native -O3 -fprebuilt-module-path=".\build" -c .\build\Crafter.Build.pcm -o .\build\Crafter.Build.o -clang-cl --target=x86_64-pc-windows-msvc /std:c++latest /MD /D CRAFTER_BUILD_CONFIGURATION_TARGET_x86_64_pc_windows_msvc /D CRAFTER_BUILD_CONFIGURATION_TYPE_EXECUTABLE -march=native -mtune=native -I"$vulkanSDKPath" /Ot -fprebuilt-module-path=".\build" -c .\implementations\Crafter.Build-Command.cpp -o .\build\Crafter.Build-Command_impl.o -clang-cl --target=x86_64-pc-windows-msvc /std:c++latest /MD /D CRAFTER_BUILD_CONFIGURATION_TARGET_x86_64_pc_windows_msvc /D CRAFTER_BUILD_CONFIGURATION_TYPE_EXECUTABLE -march=native -mtune=native -I"$vulkanSDKPath" /Ot -fprebuilt-module-path=".\build" -c .\implementations\Crafter.Build-Test.cpp -o .\build\Crafter.Build-Test_impl.o -clang-cl --target=x86_64-pc-windows-msvc /std:c++latest /MD /D CRAFTER_BUILD_CONFIGURATION_TARGET_x86_64_pc_windows_msvc /D CRAFTER_BUILD_CONFIGURATION_TYPE_EXECUTABLE -march=native -mtune=native -I"$vulkanSDKPath" /Ot -fprebuilt-module-path=".\build" -c .\implementations\Crafter.Build-Implementation.cpp -o .\build\Crafter.Build-Implementation_impl.o -clang-cl --target=x86_64-pc-windows-msvc /std:c++latest /MD /D CRAFTER_BUILD_CONFIGURATION_TARGET_x86_64_pc_windows_msvc /D CRAFTER_BUILD_CONFIGURATION_TYPE_EXECUTABLE -march=native -mtune=native -I"$vulkanSDKPath" /Ot -fprebuilt-module-path=".\build" -c .\implementations\Crafter.Build-Shader.cpp -o .\build\Crafter.Build-Shader_impl.o -clang-cl --target=x86_64-pc-windows-msvc /std:c++latest /MD /D CRAFTER_BUILD_CONFIGURATION_TARGET_x86_64_pc_windows_msvc /D CRAFTER_BUILD_CONFIGURATION_TYPE_EXECUTABLE -march=native -mtune=native -I"$vulkanSDKPath" /Ot -fprebuilt-module-path=".\build" -c .\implementations\Crafter.Build-Module.cpp -o .\build\Crafter.Build-Module_impl.o -clang-cl --target=x86_64-pc-windows-msvc /std:c++latest /MD /D CRAFTER_BUILD_CONFIGURATION_TARGET_x86_64_pc_windows_msvc /D CRAFTER_BUILD_CONFIGURATION_TYPE_EXECUTABLE -march=native -mtune=native -I"$vulkanSDKPath" /Ot -fprebuilt-module-path=".\build" -c .\implementations\Crafter.Build-Configuration.cpp -o .\build\Crafter.Build-Configuration_impl.o -clang-cl --target=x86_64-pc-windows-msvc /std:c++latest /MD /D CRAFTER_BUILD_CONFIGURATION_TARGET_x86_64_pc_windows_msvc /D CRAFTER_BUILD_CONFIGURATION_TYPE_EXECUTABLE -march=native -mtune=native -I"$vulkanSDKPath" /Ot -fprebuilt-module-path=".\build" -c .\implementations\Crafter.Build-Project.cpp -o .\build\Crafter.Build-Project_impl.o -clang-cl --target=x86_64-pc-windows-msvc /std:c++latest /MD /D CRAFTER_BUILD_CONFIGURATION_TARGET_x86_64_pc_windows_msvc /D CRAFTER_BUILD_CONFIGURATION_TYPE_EXECUTABLE -march=native -mtune=native -I"$vulkanSDKPath" /Ot -fprebuilt-module-path=".\build" -c .\implementations\main.cpp -o .\build\main.o +clang++ -target x86_64-pc-windows-msvc -std=c++26 -nostdlib -D CRAFTER_BUILD_CONFIGURATION_TARGET_x86_64_pc_windows_msvc -D CRAFTER_BUILD_CONFIGURATION_TYPE_EXECUTABLE -march=native -mtune=native -I"$vulkanSDKPath" -O3 -fprebuilt-module-path=".\build" -c .\implementations\Crafter.Build-Command.cpp -o .\build\Crafter.Build-Command_impl.o +clang++ -target x86_64-pc-windows-msvc -std=c++26 -nostdlib -D CRAFTER_BUILD_CONFIGURATION_TARGET_x86_64_pc_windows_msvc -D CRAFTER_BUILD_CONFIGURATION_TYPE_EXECUTABLE -march=native -mtune=native -I"$vulkanSDKPath" -O3 -fprebuilt-module-path=".\build" -c .\implementations\Crafter.Build-Test.cpp -o .\build\Crafter.Build-Test_impl.o +clang++ -target x86_64-pc-windows-msvc -std=c++26 -nostdlib -D CRAFTER_BUILD_CONFIGURATION_TARGET_x86_64_pc_windows_msvc -D CRAFTER_BUILD_CONFIGURATION_TYPE_EXECUTABLE -march=native -mtune=native -I"$vulkanSDKPath" -O3 -fprebuilt-module-path=".\build" -c .\implementations\Crafter.Build-Implementation.cpp -o .\build\Crafter.Build-Implementation_impl.o +clang++ -target x86_64-pc-windows-msvc -std=c++26 -nostdlib -D CRAFTER_BUILD_CONFIGURATION_TARGET_x86_64_pc_windows_msvc -D CRAFTER_BUILD_CONFIGURATION_TYPE_EXECUTABLE -march=native -mtune=native -I"$vulkanSDKPath" -O3 -fprebuilt-module-path=".\build" -c .\implementations\Crafter.Build-Shader.cpp -o .\build\Crafter.Build-Shader_impl.o +clang++ -target x86_64-pc-windows-msvc -std=c++26 -nostdlib -D CRAFTER_BUILD_CONFIGURATION_TARGET_x86_64_pc_windows_msvc -D CRAFTER_BUILD_CONFIGURATION_TYPE_EXECUTABLE -march=native -mtune=native -I"$vulkanSDKPath" -O3 -fprebuilt-module-path=".\build" -c .\implementations\Crafter.Build-Module.cpp -o .\build\Crafter.Build-Module_impl.o +clang++ -target x86_64-pc-windows-msvc -std=c++26 -nostdlib -D CRAFTER_BUILD_CONFIGURATION_TARGET_x86_64_pc_windows_msvc -D CRAFTER_BUILD_CONFIGURATION_TYPE_EXECUTABLE -march=native -mtune=native -I"$vulkanSDKPath" -O3 -fprebuilt-module-path=".\build" -c .\implementations\Crafter.Build-Configuration.cpp -o .\build\Crafter.Build-Configuration_impl.o +clang++ -target x86_64-pc-windows-msvc -std=c++26 -nostdlib -D CRAFTER_BUILD_CONFIGURATION_TARGET_x86_64_pc_windows_msvc -D CRAFTER_BUILD_CONFIGURATION_TYPE_EXECUTABLE -march=native -mtune=native -I"$vulkanSDKPath" -O3 -fprebuilt-module-path=".\build" -c .\implementations\Crafter.Build-Project.cpp -o .\build\Crafter.Build-Project_impl.o +clang++ -target x86_64-pc-windows-msvc -std=c++26 -nostdlib -D CRAFTER_BUILD_CONFIGURATION_TARGET_x86_64_pc_windows_msvc -D CRAFTER_BUILD_CONFIGURATION_TYPE_EXECUTABLE -march=native -mtune=native -I"$vulkanSDKPath" -O3 -fprebuilt-module-path=".\build" -c .\implementations\main.cpp -o .\build\main.o -clang-cl --target=x86_64-pc-windows-msvc /std:c++latest /Ot /MD -march=native -mtune=native -L"$vulkanSDKPathLib" -lvulkan-1 -lMachineIndependent -lOSDependent -lGenericCodeGen -lglslang -lglslang/Default-resource-limits -lSPIRV .\build\Crafter.Build-Command.o .\build\Crafter.Build-CompileStatus.o .\build\Crafter.Build-Shader.o .\build\Crafter.Build-Module.o .\build\Crafter.Build-Configuration.o .\build\Crafter.Build-Project.o .\build\Crafter.Build.o .\build\Crafter.Build-Command_impl.o .\build\Crafter.Build-Shader_impl.o .\build\Crafter.Build-Module_impl.o .\build\Crafter.Build-Configuration_impl.o .\build\Crafter.Build-Project_impl.o .\build\Crafter.Build-Implementation.o .\build\Crafter.Build-Implementation_impl.o .\build\Crafter.Build-Test_impl.o .\build\Crafter.Build-Test.o .\build\main.o -o .\bin/executable\Crafter-build +clang++ -target x86_64-pc-windows-msvc -std=c++26 -nostdlib -O3 -march=native -mtune=native -L"$vulkanSDKPathLib" -lmsvcp140 -lkernel32 -vcruntime140 -lvulkan-1 -lMachineIndependent -lOSDependent -lGenericCodeGen -lglslang -lglslang-default-resource-limits -lSPIRV .\build\Crafter.Build-Command.o .\build\Crafter.Build-CompileStatus.o .\build\Crafter.Build-Shader.o .\build\Crafter.Build-Module.o .\build\Crafter.Build-Configuration.o .\build\Crafter.Build-Project.o .\build\Crafter.Build.o .\build\Crafter.Build-Command_impl.o .\build\Crafter.Build-Shader_impl.o .\build\Crafter.Build-Module_impl.o .\build\Crafter.Build-Configuration_impl.o .\build\Crafter.Build-Project_impl.o .\build\Crafter.Build-Implementation.o .\build\Crafter.Build-Implementation_impl.o .\build\Crafter.Build-Test_impl.o .\build\Crafter.Build-Test.o .\build\main.o -o .\bin/executable\Crafter-build Copy-Item -Path "binlib\*" -Destination "bin\" -Recurse Remove-Item -Path "build" -Recurse -Force \ No newline at end of file