Soup
tomlplusplus
Our great sponsors
Soup | tomlplusplus | |
---|---|---|
7 | 23 | |
56 | 1,400 | |
- | - | |
7.5 | 6.4 | |
22 days ago | about 1 month ago | |
C++ | C++ | |
MIT License | 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.
Soup
-
C++20 Modules
Interesting to see how it works in CMake. I have been working for a long time on a build system that (originally) was my best shot at a "Build system for modules". Would be curious of your thoughts: Soup Build
-
Does anyone have trouble writing C++ 20/23 modules definition?
Been using modules extensively for the past 2 years to write my build system (which itself is focused on using modules). Writing modules themselves has been really easy, as long as the compilers doesnt hit any issues. Working within MSVC has become a lot better in the last 6 months to the point where I rarely see issues anymore. Every time I try to switch to Clang or GCC it seems to fail on the most simple examples, but I hear GCC has made some improvements lately.
-
YAMBS: Yet Another Meta Build System for C++ (written in Rust).
It is a tool I threw together to help debug my build system internals. It is WinUI, so windows only for now, but I hope to migrate it to MAUI so it can run cross platform.
-
A build-system for make C++ projects with modules!
Great to see more people interested in this area! Just finished reading the readme and I am really curious how you are finding the Clang modules support. Last time I tried to use it it was still heavily mixed up with Clang Modules and not that great with modules-ts. I have written my own very similar project and landed on MSVC as my primary compiler since it has the best Modules support I have found. I will hopefully find some time tonight to play around with the project more, but here are some quick thoughts.
-
P2656: C++ Ecosystem International Standard
I am hoping the release the Beta soon: https://github.com/SoupBuild/Soup
-
About C++ Dependency Management
Great writeup. I have been thinking about the problem of dependency management within C++ for a while now. I believe that without adoption of a build system that was designed to handle dependency resolution natively with modules, we will always require fragile manual integration steps. If you are interested, I wrote a blog post on what I believe it will take to create such a build system and am actively working on an implementation.
-
On which hobby or side projects are you working on?
A build system aimed at collaboration across teams, languages and platforms. Started out as a basic attempt to take advantage of C++20 Modules, but grew from there: https://github.com/SoupBuild/Soup
tomlplusplus
-
how to handle config files in c++?
Unless you want to make your own config file parser as an exercise (which is a good idea) I'd recommend using toml++.
-
Cmake fetchContent not working in a docker container.
It's a public repo - this one: https://github.com/marzer/tomlplusplus but thank you
-
Poxy - a Doxygen frontend - v0.9.0 released
For a live demo, see the toml++ homepage: https://marzer.github.io/tomlplusplus/
-
Preferred way to read in application settings/config in C++
Added bonus, tomlplusplus is a solid C++ implementation, actively updated, and easy to drop into a project (header only, CMake, vcpkg, Conan, etc.). Very easy to use for what I've needed.
-
toml++ v3.2.0 released
Key links: - Homepage: https://marzer.github.io/tomlplusplus/ - Repository: https://github.com/marzer/tomlplusplus - "What is TOML?": https://toml.io/
-
CMake for toml not working
cmake_minimum_required(VERSION 3.23) project(testProj) set(CMAKE_CXX_STANDARD 23) set(FETCHCONTENT_BASE_DIR ${PROJECT_SOURCE_DIR}/${CMAKE_PROJECT_NAME}/libs CACHE PATH "Missing description." FORCE) include(FetchContent) FetchContent_Declare( tomlplusplus GIT_REPOSITORY https://github.com/marzer/tomlplusplus.git GIT_TAG v3.1.0 ) FetchContent_MakeAvailable(tomlplusplus) add_executable(testProj testProj/src/main.cpp) target_link_libraries(testProj tomlplusplus)
- toml++: Header-Only TOML Config File Parser And Serializer For C++
-
What are some use cases of using shared_ptr in a single threaded program?
I use them in toml++ to store the path of the source document for all the data nodes parsed from that document. Storing it as a separate std::string allocation for every single object would have been very wasteful, and the alternative would have been to make an overall document class that owned everything, which I didn't want to do, so shared_ptr was a good compromise.
-
toml++ v3.1.0 released
Key links: - Homepage: https://marzer.github.io/tomlplusplus/ - Repository: https://github.com/marzer/tomlplusplus - "What is TOML?": https://toml.io/
-
What are some projects that taught you a lot?
toml++ was both my first 'public'/open-source project, and my first ever attempt at a parser. There's a few things I'd do differently now if I were to write it from scratch, but I've learned a lot along the way (particularly about making things build 'clean' on multiple platforms).
What are some alternatives?
tsmp
toml11 - TOML for Modern C++
GraphicsPlayground - Sandbox for the graphics engine. Designed for easiest experimentation and demonstration of graphics algorithms.
Magic Enum C++ - Static reflection for enums (to string, from string, iteration) for modern C++, work with any enum type without any macro or boilerplate code
bomba - C++ library for convenient implementation of RPC and serialisation
toml - Tom's Obvious, Minimal Language
beryldb - BerylDB is a fully modular data structure data manager that can be used to store data as key-value entries. The server allows channel subscription and is optimized to be used as a cache repository. Supported structures include lists, sets, multimaps, and keys.
toml - Python lib for TOML
Ecosystem - You play God
json_test_data - Test data for nlohmann/json
b2 - B2 makes it easy to build C++ projects, everywhere.
cmkr - Modern build system based on CMake and TOML.