Skip to content

Conversation

jasondaming
Copy link
Member

Summary

Improves the documentation for the "Enable Desktop Support" checkbox in the New Project Creator, addressing confusion reported in issue #3146. This fix applies to all project types, not just XRP.

Changes

Replaced the vague existing text with clear guidance:

Before:

Enables unit test and simulation. While WPILib supports this, third party software libraries may not. If libraries do not support desktop, then your code may not compile or may crash. It should be left unchecked unless unit testing or simulation is needed and all libraries support it.

After:

  • Java: This option has no effect and can be left checked or unchecked
  • C++: Checking this option enables desktop compilation, which is required for simulation, unit tests, and certain development workflows (like Romi or XRP projects)
  • Added note about third-party vendor library compatibility for C++ users

Why This Matters

Users (especially those following tutorials) were confused about whether to check this box. The original text suggested it should be "left unchecked unless needed," but didn't explain that:

  • For Java, it doesn't matter at all
  • For C++, it's required for simulation/testing
  • For Romi/XRP, C++ users must have it enabled

Additional Changes

  • Removed Python from the explanation (Python doesn't use this project creator)
  • Added link to simulation documentation for conditional compilation guidance

Fixes #3146

- Java: Has no effect, can be checked or unchecked
- C++: Must be checked for simulation, unit tests, Romi/XRP projects
- Added note about third-party library compatibility
- Removed Python reference (doesn't use this project creator)

Fixes wpilibsuite#3146
@sciencewhiz
Copy link
Collaborator

Does it need to be checked for C++ Romi and XRP projects? Since they use different templates, I think it might be ignored.

@jasondaming
Copy link
Member Author

I am not positive here but I thought you had to have it for those and that was what the training was asking you to do from the original issue?

@sciencewhiz
Copy link
Collaborator

Well the original issue said they didn't know if they needed to select enable desktop support, but suspected it did need to be checked. I'm just saying we should run the test before writing the documentation. I tend to suspect it's ignored, but just like the original issue writer, I'm not sure.

@Gold856
Copy link
Contributor

Gold856 commented Oct 13, 2025

Yeah, the C++ Romi/XRP templates don't have an includeDesktopSupport variable in the build.gradle, which is what the Enable Desktop Support checkbox modifies. The checkbox is a no-op for those templates.

@jasondaming
Copy link
Member Author

So it really sounds like that portion of the video needs to be removed

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

XRP Java Programming Part 1 - no guidance for 'Enable Desktop Support' in WPILib Project Creator

3 participants