cmake_format
Source code formatter for cmake listfiles. (by cheshirekow)
cmake-init-fetchcontent
Example for optionally vendoring using FetchContent (by friendlyanon)
cmake_format | cmake-init-fetchcontent | |
---|---|---|
2 | 4 | |
925 | 2 | |
- | - | |
0.0 | 1.8 | |
2 months ago | about 2 years ago | |
Python | CMake | |
GNU General Public License v3.0 only | - |
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
cmake_format
Posts with mentions or reviews of cmake_format.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2022-07-12.
-
What about a CMake transpiler?
There's a cmake-format project with some linting features, but it's hard to add the checks to clean up the biggest CMake antipatterns because relevant solutions tend to be more opinionated in one direction or another.
-
cmake-init - The missing CMake project initializer, now with Conan and vcpkg templates!
Have you considered integrating cmake-format? It requires an extra dependency of course, but you can make it optional.
cmake-init-fetchcontent
Posts with mentions or reviews of cmake-init-fetchcontent.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2022-08-09.
-
CMake 3.24 has support for dependency providers
You can see that in action here: https://github.com/friendlyanon/cmake-init-fetchcontent This example has the idiomatic find_package(headeronly REQUIRED) call in the CMakeLists.txt, but when configuring ${sourceDir}/cmake/find is added to CMAKE_MODULE_PATH, so the FetchContent code is run to "find" the dependency. There are comments to further explain this.
-
SimpleBLE - Cross-platform BLE library for Windows, Linux and MacOS/iOS
Please consider using https://github.com/friendlyanon/cmake-init before this has any significant amount of users. There is an example that shows you how to still rely on FetchContent as an opt-in.
-
How would you create/maintain a new c++ project using modern tools/practices?
Are they only on git(hub)? You can write a vcpkg overlay port (example) or use FetchContent if the projects are FetchContent ready in a way that doesn't force FetchContent on people trying to build the project (example).
-
cmake-init - The missing CMake project initializer, now with Conan and vcpkg templates!
This came up somewhere else, but I created an example repo that idiomatically uses find_package and an opt-in find module to FetchContent a dependency from GitHub: https://github.com/friendlyanon/cmake-init-fetchcontent
What are some alternatives?
When comparing cmake_format and cmake-init-fetchcontent you can also consider the following projects:
Python Packages Project Generator - 🚀 Your next Python package needs a bleeding-edge project structure.
SimpleBLE - SimpleBLE - the all-in-one Bluetooth library for MacOS, iOS, Windows, and Linux.
cmake-init - The missing CMake project initializer
SimpleBluez - A simple C++ wrapper around Bluez with a commercially-friendly licence.
cmake-init-use-pkg-config - Using a dependency that does not support clients using CMake
cmake-init-vcpkg-example - cmake-init generated executable project with vcpkg integration