From 0c7ff7a068958d2c23a8f362763cb22d34f32371 Mon Sep 17 00:00:00 2001 From: ladevieq Date: Mon, 17 Aug 2026 02:21:19 +0200 Subject: Put libraries source file in a separate compilation unit --- build.bat | 16 ++++++++++++---- src/libs.cpp | 17 +++++++++++++++++ 2 files changed, 29 insertions(+), 4 deletions(-) create mode 100644 src/libs.cpp diff --git a/build.bat b/build.bat index b6d3810..7a8be5c 100644 --- a/build.bat +++ b/build.bat @@ -11,10 +11,12 @@ if "%release%"=="0" ( ) :: clean directory -IF EXIST %BUILD_DIR% rmdir %BUILD_DIR%\ /S /Q +if "%clean%"=="1" ( + 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 + IF NOT EXIST %BUILD_DIR% mkdir %BUILD_DIR% + IF NOT EXIST %BUILD_DIR%\shaders mkdir %BUILD_DIR%\shaders +) set MSVC=1 @@ -82,6 +84,12 @@ if 0 EQU 1 ( :: link multiple objs :: link %L_FLAGS% /OUT:%BUILD_DIR%\main.exe %OBJS% kernel32.lib user32.lib +:: compiles external libs +IF NOT EXIST %BUILD_DIR%\libs.obj ( + echo %C_COMPILER% /Fd:%BUILD_DIR%\libs.pdb %C_FLAGS% src\libs.cpp + %C_COMPILER% /Fd:%BUILD_DIR%\libs.pdb %C_FLAGS% src\libs.cpp +) + :: compiles the project as a single compilation unit if %MSVC% EQU 1 ( echo %C_COMPILER% /Fd:%BUILD_DIR%\main.pdb %C_FLAGS% src\main.cpp @@ -91,7 +99,7 @@ if %MSVC% EQU 1 ( %C_COMPILER% -o %BUILD_DIR%\main.obj %C_FLAGS% src\main.cpp ) -link %L_FLAGS% /DEBUG /OUT:%BUILD_DIR%\main.exe %BUILD_DIR%\main.obj kernel32.lib user32.lib +link %L_FLAGS% /DEBUG /OUT:%BUILD_DIR%\main.exe %BUILD_DIR%\main.obj %BUILD_DIR%\libs.obj kernel32.lib user32.lib set shaders=ui.vert ui.frag test.comp compute.comp api-test-ui.vert api-test-ui.frag tonemapping.comp transmittance_lut.comp (for %%s in (%shaders%) do ( diff --git a/src/libs.cpp b/src/libs.cpp new file mode 100644 index 0000000..1b2bf9c --- /dev/null +++ b/src/libs.cpp @@ -0,0 +1,17 @@ +// ------------------- +// thirdparties +// ------------------- +#define IMGUI_DISABLE_WIN32_FUNCTIONS +#include "imgui.cpp" +#include "imgui_draw.cpp" +#include "imgui_tables.cpp" +#include "imgui_widgets.cpp" + +#include "simdjson.cpp" + +#define STB_IMAGE_IMPLEMENTATION +#include + +#define VK_NO_PROTOTYPES +#define VMA_IMPLEMENTATION +#include -- cgit v1.3