wasm: disable ImGUI debug tools

This commit is contained in:
2026-03-26 15:01:36 +01:00
parent 103f17b8e9
commit 4e102fc31e
3 changed files with 13 additions and 3 deletions

View File

@@ -20,15 +20,18 @@ FetchContent_Declare(
) )
FetchContent_MakeAvailable(imgui) FetchContent_MakeAvailable(imgui)
add_library(imgui STATIC set(IMGUI_SOURCES
${imgui_SOURCE_DIR}/imgui.cpp ${imgui_SOURCE_DIR}/imgui.cpp
${imgui_SOURCE_DIR}/imgui_demo.cpp
${imgui_SOURCE_DIR}/imgui_draw.cpp ${imgui_SOURCE_DIR}/imgui_draw.cpp
${imgui_SOURCE_DIR}/imgui_tables.cpp ${imgui_SOURCE_DIR}/imgui_tables.cpp
${imgui_SOURCE_DIR}/imgui_widgets.cpp ${imgui_SOURCE_DIR}/imgui_widgets.cpp
${imgui_SOURCE_DIR}/backends/imgui_impl_sdl2.cpp ${imgui_SOURCE_DIR}/backends/imgui_impl_sdl2.cpp
${imgui_SOURCE_DIR}/backends/imgui_impl_opengl3.cpp ${imgui_SOURCE_DIR}/backends/imgui_impl_opengl3.cpp
) )
if(NOT EMSCRIPTEN)
list(APPEND IMGUI_SOURCES ${imgui_SOURCE_DIR}/imgui_demo.cpp)
endif()
add_library(imgui STATIC ${IMGUI_SOURCES})
target_include_directories(imgui PUBLIC target_include_directories(imgui PUBLIC
${imgui_SOURCE_DIR} ${imgui_SOURCE_DIR}
${imgui_SOURCE_DIR}/backends ${imgui_SOURCE_DIR}/backends
@@ -141,9 +144,10 @@ if(EMSCRIPTEN)
target_compile_definitions(fftw3f_wasm PRIVATE FFTW_SINGLE=1) target_compile_definitions(fftw3f_wasm PRIVATE FFTW_SINGLE=1)
target_compile_options(fftw3f_wasm PRIVATE -w) # suppress warnings from FFTW target_compile_options(fftw3f_wasm PRIVATE -w) # suppress warnings from FFTW
# ImGui: link with Emscripten SDL2 port # ImGui: link with Emscripten SDL2 port, disable demo/debug tools
target_compile_options(imgui PUBLIC -sUSE_SDL=2) target_compile_options(imgui PUBLIC -sUSE_SDL=2)
target_link_options(imgui PUBLIC -sUSE_SDL=2) target_link_options(imgui PUBLIC -sUSE_SDL=2)
target_compile_definitions(imgui PUBLIC IMGUI_DISABLE_DEMO_WINDOWS=1 IMGUI_DISABLE_DEBUG_TOOLS=1)
add_executable(baudmine ${SOURCES}) add_executable(baudmine ${SOURCES})
target_include_directories(baudmine PRIVATE src) target_include_directories(baudmine PRIVATE src)

View File

@@ -447,6 +447,7 @@ void Application::render() {
ImGui::EndMenu(); ImGui::EndMenu();
} }
#ifndef IMGUI_DISABLE_DEBUG_TOOLS
if (ImGui::BeginMenu("Debug")) { if (ImGui::BeginMenu("Debug")) {
ImGui::MenuItem("Metrics/Debugger", nullptr, &showMetricsWindow_); ImGui::MenuItem("Metrics/Debugger", nullptr, &showMetricsWindow_);
ImGui::MenuItem("Debug Log", nullptr, &showDebugLog_); ImGui::MenuItem("Debug Log", nullptr, &showDebugLog_);
@@ -457,6 +458,7 @@ void Application::render() {
1000.0f / ImGui::GetIO().Framerate); 1000.0f / ImGui::GetIO().Framerate);
ImGui::EndMenu(); ImGui::EndMenu();
} }
#endif
#ifdef __EMSCRIPTEN__ #ifdef __EMSCRIPTEN__
if (ImGui::SmallButton(js_isFullscreen() ? "Exit Fullscreen" : "Fullscreen")) { if (ImGui::SmallButton(js_isFullscreen() ? "Exit Fullscreen" : "Fullscreen")) {
@@ -584,11 +586,13 @@ void Application::render() {
ImGui::End(); ImGui::End();
#ifndef IMGUI_DISABLE_DEBUG_TOOLS
// ImGui debug windows // ImGui debug windows
if (showDemoWindow_) ImGui::ShowDemoWindow(&showDemoWindow_); if (showDemoWindow_) ImGui::ShowDemoWindow(&showDemoWindow_);
if (showMetricsWindow_) ImGui::ShowMetricsWindow(&showMetricsWindow_); if (showMetricsWindow_) ImGui::ShowMetricsWindow(&showMetricsWindow_);
if (showDebugLog_) ImGui::ShowDebugLogWindow(&showDebugLog_); if (showDebugLog_) ImGui::ShowDebugLogWindow(&showDebugLog_);
if (showStackTool_) ImGui::ShowIDStackToolWindow(&showStackTool_); if (showStackTool_) ImGui::ShowIDStackToolWindow(&showStackTool_);
#endif
// Render // Render
ImGui::Render(); ImGui::Render();

View File

@@ -205,11 +205,13 @@ private:
// UI visibility // UI visibility
bool showSidebar_ = true; bool showSidebar_ = true;
#ifndef IMGUI_DISABLE_DEBUG_TOOLS
// ImGui debug windows // ImGui debug windows
bool showDemoWindow_ = false; bool showDemoWindow_ = false;
bool showMetricsWindow_ = false; bool showMetricsWindow_ = false;
bool showDebugLog_ = false; bool showDebugLog_ = false;
bool showStackTool_ = false; bool showStackTool_ = false;
#endif
// Pre-allocated scratch buffers (avoid per-frame heap allocations) // Pre-allocated scratch buffers (avoid per-frame heap allocations)
std::vector<std::vector<float>> wfSpectraScratch_; std::vector<std::vector<float>> wfSpectraScratch_;