SaaSHub helps you find the best software and product alternatives Learn more ā
Top 23 C++ CMake Projects
-
"Emulator" is the wrong word, but the answer is yes. The word you actually meant was "re-implementation" - writing a completely new, clean-room program which reads Source data files (levels, assets, scripts) and allows the user to play a Source game is perfectly legal.
It is necessary to avoid distributing any copyrighted material, so the user must provide the game assets from a legitimate copy for using the program to be legal. In addition, the 'clean-room' must be maintained by ensuring that no contributors to the re-implementation have ever seen the source code for Source, or they become tainted with forbidden knowledge.
Indeed, it's quite common for beloved old games to be re-implemented on new codebases to allow easy play on modern OS's and at high resolution, etc.
See https://github.com/Interkarma/daggerfall-unity, https://openrct2.io/, https://github.com/AlisterT/openjazz
-
CodeRabbit
CodeRabbit: AI Code Reviews for Developers. Revolutionize your code reviews with AI. CodeRabbit offers PR summaries, code walkthroughs, 1-click suggestions, and AST-based analysis. Boost productivity and code quality across all major languages with each PR.
-
-
Project mention: Mumble: An AI app with hands-free journaling and mood detection | news.ycombinator.com | 2024-10-30
Kind of a bad name given the existence of https://www.mumble.info/
Which is a large OSS voice server
-
-
Project mention: Exult: Recreating Ultima VII for modern operating systems | news.ycombinator.com | 2025-02-23
In the same spirit, for Heroes of might and magic 3:
https://github.com/vcmi/vcmi
Using it on Ubuntu to play with my brother who is on a Mac in another country and it already works quite well. We hit only one bug so far.
-
-
warzone2100
Command the forces of The Project in a battle to rebuild the world after mankind has been nearly destroyed by nuclear missiles. A 100% free and open source real-time strategy game for Windows, macOS, Linux, BSD+
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
-
-
-
xray-16
Improved version of the X-Ray Engine, the game engine used in the world-famous S.T.A.L.K.E.R. game series by GSC Game World. Join OpenXRay! ;)
-
-
-
widelands
Widelands is a free, open source real-time strategy game with singleplayer campaigns and a multiplayer mode. The game was inspired by Settlers IIā¢ (Ā© Bluebyte) but has significantly more variety and depth to it.
-
moneymanagerex
Money Manager Ex is an easy to use, money management application built with wxWidgets
-
-
Not it is the free software or open source version of this game, but OpenLoco https://openloco.io/ is great, and I hope that this game in near future will have a free assets like as OpenTTD https://www.openttd.org/ .
-
Gerbera
UPnP Media Server for 2025: Stream your digital media through your home network and consume it on all kinds of UPnP supporting devices š±š»šŗ
-
Project mention: Python type hints may not be not for me in practice | news.ycombinator.com | 2024-11-27
I suspect C++ still comes the closest to what youāre asking for today, at least among mainstream programming languages.
Matrix dimensions are certainly doable, for example, because templates representing mathematical types like matrices and vectors can be parametrised by integers defining their dimension(s) as well as the type of an individual element.
You can also use template wizardry to write libraries like mp-unitsĀ¹ or unitsĀ² that provide explicit representations for numerical values with units. You can even get fancy with user-defined literals so you can write things like 0.5_m and have a suitably-typed value created (though that particular trick does get less useful once you need arbitrary compound units like kgĀ·mĀ·sā»Ā²).
Both of those are fairly well-defined problems and the solutions available do provide a good degree of static checking at compile time.
IMHO, the range question is the trickiest one of your three examples, because in real mathematical code there are so many different things you might want to constrain. You could define a parametrised type representing open or closed ranges of integers between X and Y easily enough, but how far down the rabbit hole do you go? Fractional values with attached precision/error metadata? The 572 specific varieties of matrix that get defined in a linear algebra textbook, and which variety you get back when you compute a product of any two of them?
Ā¹ https://mpusz.github.io/mp-units/
Ā² http://nholthaus.github.io/units/
-
-
-
-
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
C++ CMake discussion
C++ CMake related posts
-
How to Build a Desktop MRZ Scanner Using C++ and Dynamsoft's Fine-Tuned Deep Learning Models
-
Exult: Recreating Ultima VII for modern operating systems
-
How to Build a Lightweight Flutter Camera Plugin for Windows, Linux, and macOS
-
Building a Python Camera SDK and Using It for Multi-Barcode Scanning
-
Mixing Objective-C and C++ in macOS to Build a Camera-Based Barcode Scanner
-
How to Implement Camera Preview with Windows Media Foundation API in C++
-
QXmpp 1.9.2 ā Cross-platform C++ XMPP client and server library
-
A note from our sponsor - SaaSHub
www.saashub.com | 25 Mar 2025
Index
What are some of the best open-source CMake projects in C++? This list will help you:
# | Project | Stars |
---|---|---|
1 | OpenRCT2 | 14,145 |
2 | monero | 9,308 |
3 | Mumble | 6,727 |
4 | magnum | 4,914 |
5 | vcmi | 4,851 |
6 | Librum | 4,417 |
7 | warzone2100 | 3,337 |
8 | OpenSceneGraph | 3,328 |
9 | rttr | 3,270 |
10 | xray-16 | 3,150 |
11 | SHOGUN | 3,038 |
12 | cmake-cookbook | 2,769 |
13 | widelands | 2,069 |
14 | moneymanagerex | 1,918 |
15 | Diagon | 1,713 |
16 | nitroshare-desktop | 1,605 |
17 | OpenLoco | 1,479 |
18 | Gerbera | 1,236 |
19 | mp-units | 1,170 |
20 | openspades | 1,155 |
21 | WasIstLos | 1,065 |
22 | innoextract | 1,056 |
23 | ArxLibertatis | 989 |