GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — CMake Presets json file by sillydan1 · Pull Request #2308 · InfiniTimeOrg/InfiniTime

Conversation

@sillydan1

@sillydan1 sillydan1 commented Jun 7, 2025

Copy link
Copy Markdown

This PR adds a CMakePresets.json with the Release preset , which makes it much easier to get started on development, as code-editors such as VSCode, CLion and neovim support generating compile_commands.json databases using these presets. It does require a fairly recent cmake version though.

I only added one preset, Release for now and I didn't dare touch the CI stuff, but perhaps this could simplify the CI chain.

I also found that the requirements.txt file in tools/mcuboot didn't mention the adafruit-nrfutil dependency, so I added that to the build instructions.

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
@github-actions

github-actions Bot commented Jun 7, 2025 •
edited
Loading

Uh oh!

There was an error while loading. Please reload this page.

Copy link
Copy Markdown

Build size and comparison to main:

Section Size Difference
text 385232B 0B
data 944B 0B
bss 22640B 0B

Run in InfiniEmu

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@mark9064 mark9064 added the maintenance Background work label Jun 7, 2025
@sillydan1
sillydan1 force-pushed the editor-assistance branch from 456bffb to be8636c Compare June 7, 2025 10:31
mark9064
mark9064 reviewed Jun 8, 2025
View reviewed changes

@mark9064 mark9064 left a comment

Copy link
Copy Markdown
Member

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks like a nice improvement overall :) Thanks for sending it in

I'm not sure about storing the toolchain inside the tree. Maybe environment variables like with the VSCode instructions would be more flexible? What are your thoughts, I do agree that having to configure env vars can be a bit annoying

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
Comment thread doc/buildAndProgram.md Resolved

Uh oh!

There was an error while loading. Please reload this page.

Comment thread doc/buildAndProgram.md Resolved

Uh oh!

There was an error while loading. Please reload this page.

Comment thread doc/buildAndProgram.md Resolved

Uh oh!

There was an error while loading. Please reload this page.

Comment thread .gitignore Resolved

Uh oh!

There was an error while loading. Please reload this page.

@sillydan1
sillydan1 force-pushed the editor-assistance branch from be8636c to a7d43cf Compare June 28, 2025 10:04
@sillydan1

sillydan1 commented Jun 28, 2025

Copy link
Copy Markdown
Author

Looks like a nice improvement overall :) Thanks for sending it in

I'm not sure about storing the toolchain inside the tree. Maybe environment variables like with the VSCode instructions would be more flexible? What are your thoughts, I do agree that having to configure env vars can be a bit annoying

Thanks! 😁 Hmm... I see your point that using raw environment variables is very flexible, I just found it a bit annoying to use though - which is why I added the cmake presets file... These changes will technically not prevent users from manually setting the environment variables and calling cmake without the --preset option, but then that means we need to support multiple workflows. Sadly, there's no way to "use the environment variable if defined, otherwise, use the ${fileDir}/sdk-toolchain value(s)"... At least I haven't been able to figure it out without needing to compromise on flexibility...

To me, ideally, the buildsteps should just be:

  • Clone the project (with submodules)
  • cmake --preset Release
  • cmake --build build/Release

Where the CMakeLists.txt would download the SDK and toolchain for you at configure-time. I would love to try to get that done but it would require touching the CI and it would be a fairly big change to the now normal work flow, so I'm not sure if it would be too disruptive. Perhaps adding the presets just adds confusion and we should just close this PR?

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@BurninTurtles BurninTurtles mentioned this pull request May 25, 2026
#2308: CMake Presets json file BurninTurtles/InfiniTimeBT#64
Open
sillydan1 added 2 commits July 29, 2026 11:55
@sillydan1
fix: gitignore autogenerated files and the external libs
fd9938e
CMakeUserPresets.json contains user (i.e. per developer) presets and
should therefore be ignored.

node_modules and so on is just for the lv_font_conv dependency.
@sillydan1
feat: add cmakepresets.json
f2620b2
This file helps editors to generate compile_commands.json database files
as well as streamlining some of the cmake commands.
@sillydan1
sillydan1 force-pushed the editor-assistance branch from a7d43cf to f2620b2 Compare July 29, 2026 09:55
@sillydan1

sillydan1 commented Aug 28, 2026

Copy link
Copy Markdown
Author

Closing as this became stale.

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@sillydan1 sillydan1 closed this Aug 28, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Reviewers

@mark9064 mark9064 mark9064 left review comments

Uh oh!

There was an error while loading. Please reload this page.

Assignees

No one assigned

Labels

maintenance Background work

Projects

None yet

Milestone

No milestone

Development

Successfully merging this pull request may close these issues.

Uh oh!

There was an error while loading. Please reload this page.

2 participants

@sillydan1 @mark9064
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.