aboutsummaryrefslogtreecommitdiffstats
path: root/build.bat
diff options
context:
space:
mode:
authorladevieq <ladevie.quentin@gmail.com>2025-12-24 15:35:21 +0100
committerladevieq <ladevie.quentin@gmail.com>2025-12-24 15:35:21 +0100
commitb4d24e8f2cb4838acc0b827f007e7faa609039ba (patch)
treeba6504b67923789d84b2473eb4e14f7002e34ab7 /build.bat
parentc29105b461135f3909cca0308fb05715cee45763 (diff)
Use build.bat for building
Everything is included in main.cpp Do not rely on vcpkg anymore
Diffstat (limited to 'build.bat')
-rw-r--r--build.bat55
1 files changed, 55 insertions, 0 deletions
diff --git a/build.bat b/build.bat
new file mode 100644
index 0000000..918f089
--- /dev/null
+++ b/build.bat
@@ -0,0 +1,55 @@
+@ECHO OFF
+
+:: Unpack Arguments
+set release=0
+for %%a in (%*) do set "%%a=1"
+
+set BUILD_DIR=build_rel
+
+if "%release%"=="0" (
+ set BUILD_DIR=build_deb
+)
+
+:: clean directory
+:: IF EXIST %BUILD_DIR% rmdir %BUILD_DIR%\ /S /Q
+
+IF NOT EXIST %BUILD_DIR% mkdir %BUILD_DIR%
+IF NOT EXIST %BUILD_DIR%\shaders mkdir %BUILD_DIR%\shaders
+:: set C_FLAGS=/nologo /W4 /WX /Zi /Fo:%BUILD_DIR%\ /Iinclude /Iinclude\api-test /I%VULKAN_SDK%\Include /Ithirdparty /Ithirdparty\imgui-1.92.5 /std:c++latest /DWINDOWS /DNOMINMAX /c /Tp
+:: set C_FLAGS=/nologo /W4 /Zi /Fo:%BUILD_DIR%\ /Iinclude /Iinclude\api-test /I%VULKAN_SDK%\Include /imsvcthirdparty /Ithirdparty /Ithirdparty\imgui-1.92.5 /std:c++latest /DWINDOWS /DNOMINMAX /c /Tp
+
+:: showincludes
+:: set C_FLAGS=/nologo /showIncludes /W4 /Zi /Fo:%BUILD_DIR%\ /Iinclude /Iinclude\api-test /I%VULKAN_SDK%\Include /external:W0 /external:Ithirdparty /external:Ithirdparty\imgui-1.92.5 /std:c++latest /DWINDOWS /DNOMINMAX /c /Tp
+set C_FLAGS=/nologo /W4 /Zi /Fo:%BUILD_DIR%\ /Iinclude /Iinclude\api-test /I%VULKAN_SDK%\Include /external:W0 /external:Ithirdparty /external:Ithirdparty\imgui-1.92.5 /std:c++latest /DWINDOWS /DNOMINMAX /c /Tp
+set SHADER_FLAGS=-I shaders\include -std=460
+:: set C_FLAGS=/nologo /W4 /Zi /Fo:%BUILD_DIR%\ /Iinclude /Iinclude\api-test /imsvcthirdparty /Ithirdparty\imgui-1.92.5 /std:c++latest /DDX12 /DWINDOWS /DNOMINMAX /c /Tp
+REM set L_FLAGS=/WX /SUBSYSTEM:CONSOLE /NODEFAULTLIB /stack:0x100000,100000
+:: set L_FLAGS=/WX /SUBSYSTEM:CONSOLE /NODEFAULTLIB
+set L_FLAGS=/WX /SUBSYSTEM:CONSOLE
+
+if "%release%"=="0" (
+ set C_FLAGS=/DDEBUG /Od %C_FLAGS%
+ set SHADER_FLAGS=-O0 -g %SHADER_FLAGS%
+ set L_FLAGS=/DEBUG %L_FLAGS%
+)
+
+:compilation
+
+:: set imgui_src=imgui imgui_draw imgui_tables imgui_widgets
+set src=window vec3 camera scene vulkan-loader utils bvh gltf mesh
+:: set api=main vk-utils vk-device vk-bindless vk-command-buffer
+set api=main
+set shaders=ui.vert ui.frag test.comp compute.comp api-test-ui.vert api-test-ui.frag tonemapping.comp transmittance_lut.comp
+:: set src=main dx12-device dx12-command-buffer
+
+(for %%s in (%api%) do (
+ call set OBJS=%%OBJS%% %BUILD_DIR%\%%s.obj
+ cl /Fd:%BUILD_DIR%\%%s.pdb %C_FLAGS% api-test\%%s.cpp
+))
+(for %%s in (%shaders%) do (
+ glslc.exe -o %BUILD_DIR%\shaders\%%s.spv %SHADER_FLAGS% shaders\%%s
+))
+ :: clang-cl /Fd:%BUILD_DIR%\%%s.pdb %C_FLAGS% api-test\%%s.cpp
+
+:: link
+link %L_FLAGS% /OUT:%BUILD_DIR%\main.exe %OBJS% kernel32.lib