HMake
comms_champion
HMake | comms_champion | |
---|---|---|
5 | 4 | |
15 | 242 | |
- | 0.4% | |
7.3 | 0.0 | |
27 days ago | about 2 years ago | |
C++ | CMake | |
MIT License | Mozilla Public License 2.0 |
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.
HMake
-
C++ Show and Tell - June 2023
Fork from here, then first build Example 1 from here as per instructions. Then create build-dir in SFML and run hhelper twice and hbuild once there.
- The Hero You Are Looking For. HMake BuildSystem 0.1. Supports drop-in replacement of header-files with header-units.
-
Standard Library Modules Bug Bash
I wanted to include a modules Hello World example in my project https://github.com/HassanSajjad-302/HMake but I could not. I considered 2 options. 1) Using the STL module source, but that was not available. If it had been available, only one line would have been needed. ADD_MODULE_DIR_TO_TARGET(app, "./modules/", ".*");
- HMake. An Update. Now Supports Fully Multithreaded, Cached Modules Compilation(Including Header-Units) With Pretty-Printed Colored Output.
-
I am trying to replace CMake with c++
I am writing a new build system HMake on top of CMake. Basically, HMake is a C++ library that generates a CMakeLists.txt file. There are very important features missing in it currently. Though I believe they can be added. I was able to generate two trivial CMakeLists.txt files which work for my two projects. One example is the following.
comms_champion
-
C++ Show and Tell - June 2023
I've been developing CommsChampion Ecosystem for about 9 years as my pet project. It's about easy and compile-time configurable implementation of binary communication protocols using C++11 programming language, with main focus on embedded systems (including bare-metal ones).
-
What network messaging library do you recommend?
If this is the case, for the third stage of the application specific protocol handling I recommend CommsChampion Ecosystem.
-
When to use template meta programming ?
I suppose if you develop something that is going to be used in a single project / product without much of a customization, then meta-programming is not really justified. The meta-programming is justified in many cases when you implement some kind of a library, which can be used in multiple independent products, and these uses may require some product specific customizations. For example, I'm developing a solution for implementing binary communication protocols for embedded systems in C++, called CommsChampion Ecosystem. The core component of which is the COMMS library. Every single use of this library requires different customization. Every application may require different polymorphic interface to handle its message objects. I use template meta-programming there to define virtual functions only needed by the application and not adding unnecessary ones. I also use template meta programming to allow customization of the storage data structures and may use different, more optimized code for some.
-
Protocols that use a map/config to coordinate embedded device and host?
I use commschamp. You describe the protocol in an XML format, it only supports C++ though
What are some alternatives?
Sharpmake - Sharpmake is an open-source C#-based solution for generating project definition files, such as Visual Studio projects and solutions, GNU makefiles, Xcode projects, etc.
ReductStore - A time series database for storing and managing large amounts of blob data
STL - MSVC's implementation of the C++ Standard Library.
luos_engine - Open-source and real-time orchestrator for cyber-physical-systems, to easily design, test and deploy embedded applications and digital twins.
Jsonifier - A few classes for parsing and serializing objects from/into JSON, in C++ - very rapidly.
system-bus-radio - Transmits AM radio on computers without radio transmitting hardware.
IRremoteESP8266 - Infrared remote library for ESP8266/ESP32: send and receive infrared signals with multiple protocols. Based on: https://github.com/shirriff/Arduino-IRremote/
imgprmt - Store and share an AI image prompt/description as a basic web page, embedded within a tweetable JPG image file.
p-net - PROFINET device stack for embedded devices
cmakesl - An attempt to introduce a new scripting language for CMake
retro-game - a 2d game made in SFML and c++