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

add basic support for cmake #857

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

MrJake222
Copy link

A lot of projects (for ex. pico-sdk) use cmake as their compilation helper. I needed to include this in my Pico project, so here it is.

It becomes trivial to use (and also add compile flags). Example:

add_subdirectory(littlefs)
target_compile_definitions(littlefs PUBLIC LFS_THREADSAFE)

@MrJake222 MrJake222 changed the title added basic support for cmake add basic support for cmake Jul 20, 2023
@geky-bot
Copy link
Collaborator

Tests passed ✓, Code: 16666 B (+0.0%), Stack: 1432 B (+0.0%), Structs: 788 B (+0.0%)
Code Stack Structs Coverage
Default 16666 B (+0.0%) 1432 B (+0.0%) 788 B (+0.0%) Lines 2316/2496 lines (+0.0%)
Readonly 6126 B (+0.0%) 448 B (+0.0%) 788 B (+0.0%) Branches 1184/1506 branches (-0.0%)
Threadsafe 17494 B (+0.0%) 1432 B (+0.0%) 796 B (+0.0%) Benchmarks
Multiversion 16742 B (+0.0%) 1432 B (+0.0%) 792 B (+0.0%) Readed 29369693876 B (+0.0%)
Migrate 18350 B (+0.0%) 1736 B (+0.0%) 792 B (+0.0%) Proged 1482874766 B (+0.0%)
Error-asserts 17302 B (+0.0%) 1424 B (+0.0%) 788 B (+0.0%) Erased 1568888832 B (+0.0%)

@geky
Copy link
Member

geky commented Aug 3, 2023

Hi @MrJake222, thanks for creating a PR.

I appreciate the thought to upstream this, but I'm hesitant to bring this in unless more people weigh in that this is useful.

The problem is that there's always N+1 build systems, and my general experience is cmake configuration ends up very project-specific. Though those projects could have been using cmake "wrong".


We would probably also need to add cmake to the CI to at least test that the configuration continues to build correctly.

@zyglyf
Copy link

zyglyf commented Sep 6, 2023

This would definately be usefull for us when integrtating littlefs into our CMake based projects. Having to add littlefs with ExternalProject_add() and setting a BUILD_COMMAND with a lot of parameters to get it into a CMake project is just not a good solution and is highly dependent of the format of the littlefs makefile.

@Oakchris1955
Copy link

Adding CMake support would be really helpful for those using CMake for their projects. On the other hand:

cmake configuration ends up very project-specific

I believe that it would be better just to create a section in the README describing which CMake commands to include in one's CMakeLists.txt in order to link the littlefs source files

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

Successfully merging this pull request may close these issues.

None yet

5 participants