Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Document setting up IDE integration with BlocksDS #231

Open
asiekierka opened this issue Nov 10, 2024 · 2 comments
Open

Document setting up IDE integration with BlocksDS #231

asiekierka opened this issue Nov 10, 2024 · 2 comments
Labels
enhancement New feature or request

Comments

@asiekierka
Copy link
Contributor

From a certain forum:

The problem is that outside of setup there is no documentation/tutorial at all for integrating BlocksDS support into an IDE, whether it its VS Code, the full fat VS or any other C/C++ IDE available out there. Has anyone tried so far to include BlocksDS functions inside an IDE and compile a program with it in a terminal? I am sorry if this topic exists already.

Wonderful solves this by providing some tools and some patches on top of GCC to generate compile_commands.json files that most IDEs can ingest, however this will further deepen BlocksDS's dependency on Wonderful. There are probably other options.

@AntonioND AntonioND added the enhancement New feature or request label Nov 10, 2024
@GalaxyShard
Copy link
Contributor

As a quick and dirty solution, it may be worth documenting clangd's compile_flags.txt which can specify options (defines, include paths, target...) across an entire project. It's quite easy to set up and I use it myself in most C and C++ projects I work with--although I don't believe it would work for arm7+arm9 projects given that the options are project-wide. I'm not sure what behavior clangd follows if there are different compile_flags.txt in subdirectories, but that could be a possible solution.

There's also the possibility of making a tool that generates compile_commands.json by traversing the specified source directories and creating entries with the proper arm7/arm9 flags, although something like bear could just be used instead (I've found it to be a bit finicky though).

@asiekierka
Copy link
Contributor Author

asiekierka commented Nov 11, 2024

Personally, I just went for implementing -MJ in GCC; it's convenient but, again, this makes it incompatible with non-Wonderful toolchains, as it's a non-upstreamed patch.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

3 participants