From d99baf332c5c1332c5c0edfe43fcc21875053ea1 Mon Sep 17 00:00:00 2001 From: ocornut Date: Mon, 17 Nov 2025 16:11:05 +0100 Subject: [PATCH] CI: fixes for example_null building. --- .github/workflows/build.yml | 28 +++++++++++++++++++++++----- docs/CHANGELOG.txt | 2 ++ 2 files changed, 25 insertions(+), 5 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 92d41dac1..97bd3c94e 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -61,7 +61,7 @@ jobs: echo '#define IMGUI_IMPLEMENTATION' >> example_single_file.cpp echo '#include "misc/single_file/imgui_single_file.h"' >> example_single_file.cpp g++ -I. -Wall -Wformat -shared -o libimgui.dll -Wl,--out-implib,libimgui.a example_single_file.cpp -limm32 - g++ -I. -Wall -Wformat -DIMGUI_API='__declspec(dllimport)' -o example_null.exe examples/example_null/main.cpp -L. -limgui + g++ -I. -Ibackends -Wall -Wformat -DIMGUI_API='__declspec(dllimport)' -o example_null.exe examples/example_null/main.cpp backends/imgui_impl_null.cpp -L. -limgui rm -f example_null.exe libimgui.* example_single_file.* - name: Build example_null (extra warnings, msvc 64-bit) @@ -78,10 +78,11 @@ jobs: #define IMGUI_IMPLEMENTATION #include "misc/single_file/imgui_single_file.h" + #include "examples/backends/imgui_impl_null.cpp" #include "examples/example_null/main.cpp" EOF - g++ -I. -Wall -Wformat -o example_single_file.exe example_single_file.cpp -limm32 + g++ -I. -Ibackends -Wall -Wformat -o example_single_file.exe example_single_file.cpp -limm32 - name: Build example_null (with IMGUI_DISABLE_WIN32_FUNCTIONS) shell: bash @@ -91,10 +92,11 @@ jobs: #define IMGUI_DISABLE_WIN32_FUNCTIONS #define IMGUI_IMPLEMENTATION #include "misc/single_file/imgui_single_file.h" + #include "examples/backends/imgui_impl_null.cpp" #include "examples/example_null/main.cpp" EOF - g++ -I. -Wall -Wformat -o example_single_file.exe example_single_file.cpp -limm32 + g++ -I. -Ibackends -Wall -Wformat -o example_single_file.exe example_single_file.cpp -limm32 - name: Build example_null (as DLL) shell: cmd @@ -105,8 +107,8 @@ jobs: echo #define IMGUI_IMPLEMENTATION >> example_single_file.cpp echo #include "misc/single_file/imgui_single_file.h" >> example_single_file.cpp - cl.exe /D_USRDLL /D_WINDLL /I. example_single_file.cpp /LD /FeImGui.dll /link - cl.exe /DIMGUI_API=__declspec(dllimport) /I. ImGui.lib /Feexample_null.exe examples/example_null/main.cpp + cl.exe /D_USRDLL /D_WINDLL /I. /Ibackends example_single_file.cpp /LD /FeImGui.dll /link + cl.exe /DIMGUI_API=__declspec(dllimport) /I. ImGui.lib /Feexample_null.exe backends/imgui_impl_null.cpp examples/example_null/main.cpp # Win64 examples are more frequently compilted than the Win32 examples. # More of the Win32 examples requires 'workflow_run' to reduce waste. @@ -294,6 +296,7 @@ jobs: #define IM_ASSERT(x) #define IMGUI_IMPLEMENTATION #include "misc/single_file/imgui_single_file.h" + #include "backends/imgui_impl_null.cpp" #include "examples/example_null/main.cpp" EOF @@ -310,6 +313,7 @@ jobs: #define IMGUI_IMPLEMENTATION #include "misc/single_file/imgui_single_file.h" + #include "backends/imgui_impl_null.cpp" #include "examples/example_null/main.cpp" EOF @@ -322,6 +326,7 @@ jobs: #define IMGUI_USE_WCHAR32 #define IMGUI_IMPLEMENTATION #include "misc/single_file/imgui_single_file.h" + #include "backends/imgui_impl_null.cpp" #include "examples/example_null/main.cpp" EOF @@ -335,6 +340,7 @@ jobs: #define ImDrawIdx unsigned int #define IMGUI_IMPLEMENTATION #include "misc/single_file/imgui_single_file.h" + #include "backends/imgui_impl_null.cpp" #include "examples/example_null/main.cpp" EOF @@ -347,6 +353,7 @@ jobs: #define IMGUI_DISABLE_OBSOLETE_FUNCTIONS #define IMGUI_IMPLEMENTATION #include "misc/single_file/imgui_single_file.h" + #include "backends/imgui_impl_null.cpp" #include "examples/example_null/main.cpp" EOF @@ -359,6 +366,7 @@ jobs: #define IMGUI_DISABLE_OBSOLETE_KEYIO #define IMGUI_IMPLEMENTATION #include "misc/single_file/imgui_single_file.h" + #include "backends/imgui_impl_null.cpp" #include "examples/example_null/main.cpp" EOF @@ -371,6 +379,7 @@ jobs: #define IMGUI_DISABLE_OBSOLETE_KEYIO #define IMGUI_IMPLEMENTATION #include "misc/single_file/imgui_single_file.h" + #include "backends/imgui_impl_null.cpp" #include "examples/example_null/main.cpp" EOF @@ -384,6 +393,7 @@ jobs: #define IMGUI_DISABLE_DEBUG_TOOLS #define IMGUI_IMPLEMENTATION #include "misc/single_file/imgui_single_file.h" + #include "backends/imgui_impl_null.cpp" #include "examples/example_null/main.cpp" EOF @@ -396,6 +406,7 @@ jobs: #define IMGUI_DISABLE_FILE_FUNCTIONS #define IMGUI_IMPLEMENTATION #include "misc/single_file/imgui_single_file.h" + #include "backends/imgui_impl_null.cpp" #include "examples/example_null/main.cpp" EOF @@ -408,6 +419,7 @@ jobs: #define IMGUI_USE_BGRA_PACKED_COLOR #define IMGUI_IMPLEMENTATION #include "misc/single_file/imgui_single_file.h" + #include "backends/imgui_impl_null.cpp" #include "examples/example_null/main.cpp" EOF @@ -428,6 +440,7 @@ jobs: operator MyVec4() const { return MyVec4(x, y, z, w); } #define IMGUI_IMPLEMENTATION #include "misc/single_file/imgui_single_file.h" + #include "backends/imgui_impl_null.cpp" #include "examples/example_null/main.cpp" EOF @@ -440,6 +453,7 @@ jobs: #define IMGUI_IMPLEMENTATION #define IMGUI_DISABLE_DEMO_WINDOWS #include "misc/single_file/imgui_single_file.h" + #include "backends/imgui_impl_null.cpp" #include "examples/example_null/main.cpp" EOF @@ -452,6 +466,7 @@ jobs: #define IMGUI_IMPLEMENTATION #define IMGUI_DISABLE_DEMO_WINDOWS #include "misc/single_file/imgui_single_file.h" + #include "backends/imgui_impl_null.cpp" #include "examples/example_null/main.cpp" EOF @@ -492,6 +507,7 @@ jobs: #define IMGUI_IMPLEMENTATION #include "misc/single_file/imgui_single_file.h" + #include "backends/imgui_impl_null.cpp" #include "examples/example_null/main.cpp" EOF @@ -503,6 +519,7 @@ jobs: #define IMGUI_IMPLEMENTATION #include "misc/single_file/imgui_single_file.h" + #include "backends/imgui_impl_null.cpp" #include "examples/example_null/main.cpp" EOF @@ -514,6 +531,7 @@ jobs: #define IMGUI_IMPLEMENTATION #include "misc/single_file/imgui_single_file.h" + #include "backends/imgui_impl_null.cpp" #include "examples/example_null/main.cpp" EOF diff --git a/docs/CHANGELOG.txt b/docs/CHANGELOG.txt index e0bf08e69..3ad4d4aa7 100644 --- a/docs/CHANGELOG.txt +++ b/docs/CHANGELOG.txt @@ -151,6 +151,8 @@ Other Changes: - Win32: Revert 1.92.4 change of comparing dwPacketNumber, which prevents refreshing accurate gamepad info after focus-out + io.ClearInputKeys(). (#8556) - Examples: + - Null: update examples_null to use imgui_impl_null (which is a bit overengineering + but somehow consistent). - GLFW+WebGPU: update example for latest specs, to work on Emscripten 4.0.10+, latest Dawn-Native and WGPU-Native. (#8381, #8567, #8191, #7435) [@brutpitt] - GLFW+WebGPU: removed unnecessary ImGui_ImplWGPU_InvalidateDeviceObjects() call