natvis support in build system + some natvis

This commit is contained in:
Patedam committed 2026-09-18 18:23:49 -04:00
1 parent 2fd675cf11
commit 1367146503
5 files changed
+137 -6

No files matched your search

+14 -6
View File
@@ -9,7 +9,7 @@ cd /d "%~dp0\.."
set BUILD_TOOL=misc\build_system.exe
set BUILD_SRC=tools\build_system.c
set BUILD_TOOL_VER=1.6
set BUILD_TOOL_VER=1.7
set COMMAND_GEN_VS=0
@@ -177,6 +177,14 @@ if /i "!CFG!"=="Debug" (
set COMMON_LIBS=kernel32.lib user32.lib Advapi32.lib gdi32.lib dxguid.lib Ws2_32.lib dxgi.lib imm32.lib dwmapi.lib d3dcompiler.lib dxcompiler.lib shell32.lib winhttp.lib delayimp.lib
set NATVIS_LINK_FLAGS=
for %%F in (Natvis\*.natvis) do (
set "NATVIS_LINK_FLAGS=!NATVIS_LINK_FLAGS! /NATVIS:%%F"
)
if exist External\imgui\misc\debuggers\imgui.natvis (
set "NATVIS_LINK_FLAGS=!NATVIS_LINK_FLAGS! /NATVIS:External\imgui\misc\debuggers\imgui.natvis"
)
if defined IMGUI_UNITY_SRCS (
echo STEP Compiling ImGui Shared Objs [!CFG!]>>"!PLAN_FILE!"
echo OUTPUT Intermediate\x64-!CFG!\ImGui_Unity1.obj>>"!PLAN_FILE!"
@@ -206,7 +214,7 @@ set "JULIET_LINK_CMD=!LINK_FLAGS!"
echo STEP Building Juliet.dll [!CFG!]>>"!PLAN_FILE!"
echo OUTPUT bin\x64-!CFG!\Juliet.dll>>"!PLAN_FILE!"
echo DEPENDS Juliet^|External\imgui^|Intermediate\x64-!CFG!\Juliet_PCH.obj>>"!PLAN_FILE!"
echo COMMAND %COMPILER% !JULIET_LINK_CMD! /DIMGUI_API=__declspec^(dllexport^) /DJULIET_EXPORT /LD /Fe"bin\x64-!CFG!\Juliet.dll" !JULIET_INPUTS! Intermediate\x64-!CFG!\Juliet_PCH.obj %IMGUI_OBJS% /link %COMMON_LIBS% /INCREMENTAL /ILK:Intermediate\x64-!CFG!\Juliet.ilk /PDB:Intermediate\x64-!CFG!\Juliet.pdb>>"!PLAN_FILE!"
echo COMMAND %COMPILER% !JULIET_LINK_CMD! /DIMGUI_API=__declspec^(dllexport^) /DJULIET_EXPORT /LD /Fe"bin\x64-!CFG!\Juliet.dll" !JULIET_INPUTS! Intermediate\x64-!CFG!\Juliet_PCH.obj %IMGUI_OBJS% /link %COMMON_LIBS% !NATVIS_LINK_FLAGS! /INCREMENTAL /ILK:Intermediate\x64-!CFG!\Juliet.ilk /PDB:Intermediate\x64-!CFG!\Juliet.pdb>>"!PLAN_FILE!"
:: --- Game.dll ---
if !BUILD_GAME_DLL! equ 1 (
@@ -231,7 +239,7 @@ if !BUILD_GAME_DLL! equ 1 (
echo STEP Building !GAME_DLL_NAME!.dll [!CFG!]>>"!PLAN_FILE!"
echo OUTPUT bin\x64-!CFG!\!GAME_DLL_NAME!.dll>>"!PLAN_FILE!"
echo DEPENDS Game^|Juliet^|External\imgui^|Intermediate\x64-!CFG!\Game_PCH.obj>>"!PLAN_FILE!"
echo COMMAND %COMPILER% !GAME_LINK_CMD! /DIMGUI_API=__declspec^(dllimport^) /DJULIET_EXPORT /LD /Fe"bin\x64-!CFG!\!GAME_DLL_NAME!.dll" !GAME_INPUTS! Intermediate\x64-!CFG!\Game_PCH.obj /link %COMMON_LIBS% bin\x64-!CFG!\Juliet.lib /INCREMENTAL /ILK:Intermediate\x64-!CFG!\!GAME_DLL_NAME!.ilk /PDB:Intermediate\x64-!CFG!\!GAME_DLL_NAME!.pdb>>"!PLAN_FILE!"
echo COMMAND %COMPILER% !GAME_LINK_CMD! /DIMGUI_API=__declspec^(dllimport^) /DJULIET_EXPORT /LD /Fe"bin\x64-!CFG!\!GAME_DLL_NAME!.dll" !GAME_INPUTS! Intermediate\x64-!CFG!\Game_PCH.obj /link %COMMON_LIBS% bin\x64-!CFG!\Juliet.lib !NATVIS_LINK_FLAGS! /INCREMENTAL /ILK:Intermediate\x64-!CFG!\!GAME_DLL_NAME!.ilk /PDB:Intermediate\x64-!CFG!\!GAME_DLL_NAME!.pdb>>"!PLAN_FILE!"
)
:: --- JulietApp.exe ---
@@ -254,7 +262,7 @@ if !TARGET_JULIET! equ 1 (
echo STEP Building JulietApp.exe [!CFG!]>>"!PLAN_FILE!"
echo OUTPUT bin\x64-!CFG!\JulietApp.exe>>"!PLAN_FILE!"
echo DEPENDS JulietApp^|Game^|Juliet^|External\imgui^|Intermediate\x64-!CFG!\JulietApp_PCH.obj>>"!PLAN_FILE!"
echo COMMAND %COMPILER% !APP_LINK_CMD! /DIMGUI_API=__declspec^(dllimport^) /Fe"bin\x64-!CFG!\JulietApp.exe" !APP_INPUTS! Intermediate\x64-!CFG!\JulietApp_PCH.obj /link %COMMON_LIBS% bin\x64-!CFG!\Juliet.lib /SUBSYSTEM:CONSOLE /INCREMENTAL /ILK:Intermediate\x64-!CFG!\JulietApp.ilk /PDB:Intermediate\x64-!CFG!\JulietApp.pdb>>"!PLAN_FILE!"
echo COMMAND %COMPILER% !APP_LINK_CMD! /DIMGUI_API=__declspec^(dllimport^) /Fe"bin\x64-!CFG!\JulietApp.exe" !APP_INPUTS! Intermediate\x64-!CFG!\JulietApp_PCH.obj /link %COMMON_LIBS% bin\x64-!CFG!\Juliet.lib !NATVIS_LINK_FLAGS! /SUBSYSTEM:CONSOLE /INCREMENTAL /ILK:Intermediate\x64-!CFG!\JulietApp.ilk /PDB:Intermediate\x64-!CFG!\JulietApp.pdb>>"!PLAN_FILE!"
)
:: --- Romeo.exe ---
@@ -277,7 +285,7 @@ if !TARGET_ROMEO! equ 1 (
echo STEP Building Romeo.exe [!CFG!]>>"!PLAN_FILE!"
echo OUTPUT bin\x64-!CFG!\Romeo.exe>>"!PLAN_FILE!"
echo DEPENDS Romeo^|Juliet^|External\imgui^|Intermediate\x64-!CFG!\Romeo_PCH.obj>>"!PLAN_FILE!"
echo COMMAND %COMPILER% !ROMEO_LINK_CMD! /DIMGUI_API=__declspec^(dllimport^) /Fe"bin\x64-!CFG!\Romeo.exe" !ROMEO_INPUTS! Intermediate\x64-!CFG!\Romeo_PCH.obj /link %COMMON_LIBS% bin\x64-!CFG!\Juliet.lib /SUBSYSTEM:WINDOWS /INCREMENTAL /ILK:Intermediate\x64-!CFG!\Romeo.ilk /PDB:Intermediate\x64-!CFG!\Romeo.pdb>>"!PLAN_FILE!"
echo COMMAND %COMPILER% !ROMEO_LINK_CMD! /DIMGUI_API=__declspec^(dllimport^) /Fe"bin\x64-!CFG!\Romeo.exe" !ROMEO_INPUTS! Intermediate\x64-!CFG!\Romeo_PCH.obj /link %COMMON_LIBS% bin\x64-!CFG!\Juliet.lib !NATVIS_LINK_FLAGS! /SUBSYSTEM:WINDOWS /INCREMENTAL /ILK:Intermediate\x64-!CFG!\Romeo.ilk /PDB:Intermediate\x64-!CFG!\Romeo.pdb>>"!PLAN_FILE!"
)
:: --- JulietShaderCompiler.exe ---
@@ -300,7 +308,7 @@ if !TARGET_SHADER! equ 1 (
echo STEP Building JulietShaderCompiler.exe [!CFG!]>>"!PLAN_FILE!"
echo OUTPUT bin\x64-!CFG!\JulietShaderCompiler.exe>>"!PLAN_FILE!"
echo DEPENDS JulietShaderCompiler^|Juliet^|Intermediate\x64-!CFG!\JulietShaderCompiler_PCH.obj>>"!PLAN_FILE!"
echo COMMAND %COMPILER% !SHADER_LINK_CMD! /DIMGUI_API=__declspec^(dllimport^) /Fe"bin\x64-!CFG!\JulietShaderCompiler.exe" !SHADER_INPUTS! Intermediate\x64-!CFG!\JulietShaderCompiler_PCH.obj /link %COMMON_LIBS% bin\x64-!CFG!\Juliet.lib /SUBSYSTEM:CONSOLE /INCREMENTAL /ILK:Intermediate\x64-!CFG!\JulietShaderCompiler.ilk /PDB:Intermediate\x64-!CFG!\JulietShaderCompiler.pdb>>"!PLAN_FILE!"
echo COMMAND %COMPILER% !SHADER_LINK_CMD! /DIMGUI_API=__declspec^(dllimport^) /Fe"bin\x64-!CFG!\JulietShaderCompiler.exe" !SHADER_INPUTS! Intermediate\x64-!CFG!\JulietShaderCompiler_PCH.obj /link %COMMON_LIBS% bin\x64-!CFG!\Juliet.lib !NATVIS_LINK_FLAGS! /SUBSYSTEM:CONSOLE /INCREMENTAL /ILK:Intermediate\x64-!CFG!\JulietShaderCompiler.ilk /PDB:Intermediate\x64-!CFG!\JulietShaderCompiler.pdb>>"!PLAN_FILE!"
)
exit /b 0