From 130323a2fb8ecfa7094e180f93849704780455d9 Mon Sep 17 00:00:00 2001 From: Jorijn van der Graaf Date: Sun, 1 Mar 2026 13:25:00 +0100 Subject: [PATCH] windows build --- build.ps1 | 42 +++++++++++++++++++++++------------------- 1 file changed, 23 insertions(+), 19 deletions(-) diff --git a/build.ps1 b/build.ps1 index 5a6ad81..cf64dbf 100644 --- a/build.ps1 +++ b/build.ps1 @@ -41,6 +41,10 @@ $vulkanSDKPathLib = Join-Path -Path $vulkanBasePath -ChildPath (Join-Path -Path clang-cl --target=x86_64-pc-windows-msvc /std:c++latest /EHsc /MD -Wno-include-angled-in-module-purview -Wno-reserved-identifier -Wno-reserved-module-identifier --precompile .\build\std.cppm -o .\build\std.pcm Move-Item -Path ".\std.pcm" -Destination ".\build\std.pcm" +cd build +cl /stdc++latest /EHsc /nologo /W4 /MD /c "$sourceFilePath" +cd .. + clang-cl --target=x86_64-pc-windows-msvc /std:c++latest /EHsc /MD /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 Move-Item -Path ".\Crafter.Build-CompileStatus.pcm" -Destination ".\build\Crafter.Build-CompileStatus.pcm" @@ -68,27 +72,27 @@ Move-Item -Path ".\Crafter.Build-Project.pcm" -Destination ".\build\Crafter.Buil clang-cl --target=x86_64-pc-windows-msvc /std:c++latest /EHsc /MD /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 Move-Item -Path ".\Crafter.Build.pcm" -Destination ".\build\Crafter.Build.pcm" -clang-cl --target=x86_64-pc-windows-msvc /std:c++latest /EHsc /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 /EHsc /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 /EHsc /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 /EHsc /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 /EHsc /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 /EHsc /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 /EHsc /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 /EHsc /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 /EHsc /MD -march=native -mtune=native /Ot -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 /EHsc /MD -march=native -mtune=native /Ot -fprebuilt-module-path=".\build" -c .\build\std.pcm -o .\build\std.o +clang-cl --target=x86_64-pc-windows-msvc /std:c++latest /EHsc /MD -march=native -mtune=native /Ot -fprebuilt-module-path=".\build" -c .\build\Crafter.Build-Command.pcm -o .\build\Crafter.Build-Command.obj +clang-cl --target=x86_64-pc-windows-msvc /std:c++latest /EHsc /MD -march=native -mtune=native /Ot -fprebuilt-module-path=".\build" -c .\build\Crafter.Build-Shader.pcm -o .\build\Crafter.Build-Shader.obj +clang-cl --target=x86_64-pc-windows-msvc /std:c++latest /EHsc /MD -march=native -mtune=native /Ot -fprebuilt-module-path=".\build" -c .\build\Crafter.Build-Module.pcm -o .\build\Crafter.Build-Module.obj +clang-cl --target=x86_64-pc-windows-msvc /std:c++latest /EHsc /MD -march=native -mtune=native /Ot -fprebuilt-module-path=".\build" -c .\build\Crafter.Build-Implementation.pcm -o .\build\Crafter.Build-Implementation.obj +clang-cl --target=x86_64-pc-windows-msvc /std:c++latest /EHsc /MD -march=native -mtune=native /Ot -fprebuilt-module-path=".\build" -c .\build\Crafter.Build-Configuration.pcm -o .\build\Crafter.Build-Configuration.obj +clang-cl --target=x86_64-pc-windows-msvc /std:c++latest /EHsc /MD -march=native -mtune=native /Ot -fprebuilt-module-path=".\build" -c .\build\Crafter.Build-Project.pcm -o .\build\Crafter.Build-Project.obj +clang-cl --target=x86_64-pc-windows-msvc /std:c++latest /EHsc /MD -march=native -mtune=native /Ot -fprebuilt-module-path=".\build" -c .\build\Crafter.Build-Test.pcm -o .\build\Crafter.Build-Test.obj +clang-cl --target=x86_64-pc-windows-msvc /std:c++latest /EHsc /MD -march=native -mtune=native /Ot -fprebuilt-module-path=".\build" -c .\build\Crafter.Build-CompileStatus.pcm -o .\build\Crafter.Build-CompileStatus.obj +clang-cl --target=x86_64-pc-windows-msvc /std:c++latest /EHsc /MD -march=native -mtune=native /Ot -fprebuilt-module-path=".\build" -c .\build\Crafter.Build.pcm -o .\build\Crafter.Build.obj +clang-cl --target=x86_64-pc-windows-msvc /std:c++latest /EHsc /MD -march=native -mtune=native /Ot -fprebuilt-module-path=".\build" -c .\build\std.pcm -o .\build\std.obj -clang-cl --target=x86_64-pc-windows-msvc /std:c++latest /EHsc /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 /EHsc /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 /EHsc /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 /EHsc /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 /EHsc /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 /EHsc /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 /EHsc /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 /EHsc /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-cl --target=x86_64-pc-windows-msvc /std:c++latest /EHsc /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.obj +clang-cl --target=x86_64-pc-windows-msvc /std:c++latest /EHsc /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.obj +clang-cl --target=x86_64-pc-windows-msvc /std:c++latest /EHsc /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.obj +clang-cl --target=x86_64-pc-windows-msvc /std:c++latest /EHsc /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.obj +clang-cl --target=x86_64-pc-windows-msvc /std:c++latest /EHsc /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.obj +clang-cl --target=x86_64-pc-windows-msvc /std:c++latest /EHsc /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.obj +clang-cl --target=x86_64-pc-windows-msvc /std:c++latest /EHsc /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.obj +clang-cl --target=x86_64-pc-windows-msvc /std:c++latest /EHsc /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.obj -clang-cl --target=x86_64-pc-windows-msvc /std:c++latest /Ot /MD -march=native -mtune=native -Xlinker /LIBPATH:"$vulkanSDKPathLib" msvcrt.lib kernel32.lib user32.lib vulkan-1.lib MachineIndependent.lib OSDependent.lib GenericCodeGen.lib glslang.lib glslang.lib glslang-default-resource-limits.lib SPIRV.lib std.o .\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 .\build\std.o -o .\bin/executable\Crafter-build +link /LIBPATH:"$vulkanSDKPathLib" /MD vulkan-1.lib MachineIndependent.lib OSDependent.lib GenericCodeGen.lib glslang.lib glslang-default-resource-limits.lib SPIRV.lib .\build\Crafter.Build-Command.obj .\build\Crafter.Build-CompileStatus.obj .\build\Crafter.Build-Shader.obj .\build\Crafter.Build-Module.obj .\build\Crafter.Build-Configuration.obj .\build\Crafter.Build-Project.obj .\build\Crafter.Build.obj .\build\Crafter.Build-Command_impl.obj .\build\Crafter.Build-Shader_impl.obj .\build\Crafter.Build-Module_impl.obj .\build\Crafter.Build-Configuration_impl.obj .\build\Crafter.Build-Project_impl.obj .\build\Crafter.Build-Implementation.obj .\build\Crafter.Build-Implementation_impl.obj .\build\Crafter.Build-Test_impl.obj .\build\Crafter.Build-Test.obj .\build\main.obj .\build\std.obj /OUT:.\bin\executable\Crafter-build.exe Copy-Item -Path "binlib\*" -Destination "bin\" -Recurse Remove-Item -Path "build" -Recurse -Force \ No newline at end of file