DPP
cmake-init
Our great sponsors
DPP | cmake-init | |
---|---|---|
5 | 164 | |
939 | 1,805 | |
4.5% | - | |
9.6 | 8.1 | |
3 days ago | 7 days ago | |
C++ | CMake | |
Apache License 2.0 | GNU General Public License v3.0 only |
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.
DPP
-
How to add runtime dependencies to flake so they can be found (gtkmm4, shared-mime-info)?
For me it just fails on dpp wrap file not containing a valid URL. And if I change it to https://github.com/brainboxdotcc/DPP, it fails on the repo not containing a meson.build file. And if I comment out the dependency it fails due to non-existent include/ directory. And if I comment that out, it succeeds just fine.
-
REST APIs using C++. (Is this even done much?)
Sure, the D++ Discord bot library is a good example of an implementation of REST in C++. I wouldn't say it's particularly modern as it doesn't make a lot of use of modern C++ features such as constexpr, string_view and so on, but it's not too bad.
-
Finally my project is on vcpkg!
Looking quickly you'll want to use https://github.com/brainboxdotcc/DPP/blob/master/library-vcpkg/CMakeLists.txt
-
C++ Show and Tell - August 2022
I've been working for many months (actually over a year now) on creating and maintaining the D++ Discord API Library (aka DPP) making it lightweight and scalable for my needs.
-
Update Regarding a C++ Discord Bot Library
Out of curiousity; what does this library offer that, say, a mature library like DPP (https://github.com/brainboxdotcc/DPP) doesn't offer?
cmake-init
-
CMake install schema for single- and multi-config generators
https://github.com/friendlyanon/cmake-init This is how you do CMake properly. If you deviate from its install rules you are highly likely to do something wrong.
-
cgen: another declarative CMake configuration generator
CMake itself is as declarative as a build systems need to be. For anything nontrivial, these "declarative" solutions all fall apart. Just use https://github.com/friendlyanon/cmake-init, learn CMake and you won't have any issues.
-
How does one actually build a C++ project
If you want something with a (mostly) Just Works experience then just use https://github.com/friendlyanon/cmake-init
- CMakeList.txt, add_executable vs. add_library vs. target_link_libraries vs. target_link_directories
- Check out my tasks.json for C++ of VScode
- Clang++ Halp
-
Putting libraries in program folder
For CMake basics check out the official "Getting started" tutorial: https://cmake.org/cmake/help/latest/guide/tutorial/index.html, as well as Introduction to Modern CMake. You can also get inspired by the CMake project generator cmake-init
- Recourses to help understand libraries/projects and setting them up?
-
How to Create a Modern C Project with CMake and Conan
You can just use https://github.com/friendlyanon/cmake-init to get a CMake + Conan C project ready to go with a short little command: cmake-init --c -e -p conan coolio
- CMake template
What are some alternatives?
µWebSockets - Simple, secure & standards compliant web server for the most demanding of applications
meson - The Meson Build System
DiscordCoreAPI - A bot library for Discord, written in C++, and featuring explicit multithreading through the usage of custom, asynchronous C++ CoRoutines.
w64devkit - Portable C and C++ Development Kit for x64 (and x86) Windows
sleepy-discord - C++ library for the Discord chat client. Please use Rust for new bots
xmake - 🔥 A cross-platform build utility based on Lua
concord - A Discord API wrapper library made in C
fastbuild - High performance build system for Windows, OSX and Linux. Supporting caching, network distribution and more.
Boost.Beast - HTTP and WebSocket built on Boost.Asio in C++11
ModernCppStarter - 🚀 Kick-start your C++! A template for modern C++ projects using CMake, CI, code coverage, clang-format, reproducible dependency management and much more.
libcurl - A command line tool and library for transferring data with URL syntax, supporting DICT, FILE, FTP, FTPS, GOPHER, GOPHERS, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, MQTT, POP3, POP3S, RTMP, RTMPS, RTSP, SCP, SFTP, SMB, SMBS, SMTP, SMTPS, TELNET, TFTP, WS and WSS. libcurl offers a myriad of powerful features
llvm-mingw - An LLVM/Clang/LLD based mingw-w64 toolchain