cmake-init-fetchcontent
SimpleDBus
cmake-init-fetchcontent | SimpleDBus | |
---|---|---|
4 | 1 | |
2 | 10 | |
- | - | |
1.8 | 8.4 | |
about 2 years ago | over 1 year ago | |
CMake | C++ | |
- | MIT License |
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-init-fetchcontent
-
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
SimpleDBus
-
SimpleBLE - Cross-platform BLE library for Windows, Linux and MacOS/iOS
Internally, SimpleBLE is using CoreBluetooth on MacOS, WinRT on Windows and SimpleBluez/SimpleDBus (two other components that I wrote providing low-level access to DBus as well as Bluez abstractions). The library is extensively tested in terms of functionality as well as memory/thread sanity and I do feel confident about it being production ready. Tiny caveat: Most tests I run are manual, although I have plans for a proper hardware-in-the-loop CI pipeline if I get enough people interested / funding.
What are some alternatives?
SimpleBLE - SimpleBLE - the all-in-one Bluetooth library for MacOS, iOS, Windows, and Linux.
polkit-dumb-agent - a polkit agent in 145 lines of code, because polkit is dumb and none of the other agents worked
SimpleBluez - A simple C++ wrapper around Bluez with a commercially-friendly licence.
openvpn3-linux - OpenVPN 3 Linux client
cmake-init-vcpkg-example - cmake-init generated executable project with vcpkg integration
brainflow - BrainFlow is a library intended to obtain, parse and analyze EEG, EMG, ECG and other kinds of data from biosensors
cmake-init-use-pkg-config - Using a dependency that does not support clients using CMake
cmake-init - The missing CMake project initializer
cmake_format - Source code formatter for cmake listfiles.
dunst - Lightweight and customizable notification daemon