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)
add_library(imgui STATIC
set(IMGUI_SOURCES
${imgui_SOURCE_DIR}/imgui.cpp
${imgui_SOURCE_DIR}/imgui_demo.cpp
${imgui_SOURCE_DIR}/imgui_draw.cpp
${imgui_SOURCE_DIR}/imgui_tables.cpp
${imgui_SOURCE_DIR}/imgui_widgets.cpp
${imgui_SOURCE_DIR}/backends/imgui_impl_sdl2.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
${imgui_SOURCE_DIR}
${imgui_SOURCE_DIR}/backends
@@ -141,9 +144,10 @@ if(EMSCRIPTEN)
target_compile_definitions(fftw3f_wasm PRIVATE FFTW_SINGLE=1)
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_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})
target_include_directories(baudmine PRIVATE src)

View File

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

View File

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