[Bug]: juce_gui_extra.cpp defaults to including web browser ignoring CMake option
Maintainers usually reply within 2 days
Nobody has claimed this yet.
Assessment
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Newbie friendliness
- 55/100
- Issue type
- Bug
- Clarity
- Clearly specified
- Activity status
- Quiet
- Tech stack
- cpp
- Domain
- build-system
Research direction
Read the referenced lines in modules/juce_gui_extra/juce_gui_extra.h alongside the related includes in juce_gui_extra.cpp, then trace how NEEDS_WEB_BROWSER and JUCE_WEB_BROWSER are set for juce_add_gui_app(). Verify the behavior in a Linux build with the default option. Done means the build succeeds without requiring the workaround JUCE_WEB_BROWSER=0.
Written by the indexing model from the issue text.
Description
Detailed steps on how to reproduce the bug
When using, for example, juce_add_gui_app() and with the default option of NEEDS_WEB_BROWSER set to false, the following in juce_gui_extra.h causes attempts to import headers in juce_gui_extra.cpp that are then correctly not linked by cmake, causing a build error:
https://github.com/juce-framework/JUCE/blob/3ba67d4585e9d1fbcdb26a877c7978608b1f802e/modules/juce_gui_extra/juce_gui_extra.h#L75-L77
Workaround is to set the compile definition JUCE_WEB_BROWSER=0 but given the default is this already when adding the target, this definition should be set to 0 by default, or the setting of it in that file should be removed so it's only ever explicitly defined when enabled.
What is the expected behaviour?
Builds successfully.
Operating systems
Linux
What versions of the operating systems?
Fedora 44.
Architectures
x86_64
Stacktrace
Plug-in formats (if applicable)
No response
Plug-in host applications (DAWs) (if applicable)
No response
Testing on the develop branch
I have not tested against the develop branch
Code of Conduct
- I agree to follow the Code of Conduct
- Dominant language
- C++
- Stars
- 8.9k
- Forks
- 2.2k
- PR merge metrics
- No merged PRs in 30d
Getting set up
This project ships no dev container, Dockerfile or contributing guide, so setting up is up to you: start from its README, and see our first-contribution guide for the general steps.
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from juce-framework/JUCE
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
juce-framework/JUCE#1765 ·
Maintainers usually reply within 2 days
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
juce-framework/JUCE#1764 ·
Maintainers usually reply within 2 days
-
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
juce-framework/JUCE#1762 ·
Maintainers usually reply within 2 days
-
Linux: WebBrowserComponent shows nothing unless the GTK and WebKit development packages are installedPossibly taken A pull request linked to this issue is open or already merged. Open
Difficulty 2/5 1-3 hours Newbie friendliness 65/100
juce-framework/JUCE#1730 ·
Maintainers usually reply within 2 days
-
Difficulty 1/5 Under an hour Newbie friendliness 72/100
juce-framework/JUCE#1687 · 1 comment ·
Maintainers usually reply within 2 days
All issues in juce-framework/JUCE
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 62/100
rr-debugger/rr#4111 ·
Maintainers usually reply within 3 days
-
Multithreaded MolStandardize *InPlace functions hang with numThreads=0 and race with negative numThreadsPossibly taken @Ardx19 claimed this today. Openbug
Difficulty 1/5 1-3 hours Newbie friendliness 85/100
Maintainers usually reply within 2 days
-
[Bug] - Out-of-bounds shared-memory write in cutlass linear kernel (official qwen3 demo crashes)Open
Difficulty 2/5 1-3 hours Newbie friendliness 62/100
mirage-project/mirage#794 ·
Maintainers usually reply within 3 days
-
WiFiMulti::addAP rejects valid 32-byte SSIDsPossibly taken A pull request linked to this issue is open or already merged. OpenStatus: Awaiting triage
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
espressif/arduino-esp32#12984 ·
Maintainers usually reply within 1 day