cmake-init-multi-target
xmake
cmake-init-multi-target | xmake | |
---|---|---|
1 | 164 | |
0 | 8,819 | |
- | 2.6% | |
1.8 | 10.0 | |
over 2 years ago | 6 days ago | |
CMake | Lua | |
- | Apache 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.
cmake-init-multi-target
-
What do you struggle with the most in C++?
But also a lot of problems come from people not understanding that regardless of CMake and C++, how shared and static libraries work and why they work the way they work. For example, if your CMake project has multiple targets, one being the main export and another being just a "utilities" target of sorts, then you must do some extra work to make the main export target be installed properly when it is built as a static library. This has nothing to do with CMake or C++, but that fact that static libraries are "just" archives of object files that the linker will later roll into a "real" binary (shared library or executable). When you are creating a project you must account for propagating the "utility" target as well, because otherwise the consuming project will not get the code for the "utility" target that was linked to your main export PRIVATEly. I created an example repository on how to deal with this, because a Conan package maintainer was curious about why CMake was inserting $ genex into the installed export set.
xmake
- Cpp2 and cppfront – An experimental 'C++ syntax 2' and its first compiler
- An Introduction to Modern CMake
-
How to Structure C Projects: These Best Practices Worked for Me
In recent times I prefer Xmake[0] to CMake.
[0] https://xmake.io
- xmake: Fast and lightweight build tools with dependency package integration
- Xmake v2.8.5 released, Support for link sorting and unit testing
- Xmake v2.8.3 Released, Improve Wasm and Support Xmake Source Debugging
- Xmake v2.8.2 Released, Official package repository count over 1k
- Xmake v2.8.1 Released, Lots of Detailed Feature Improvements
What are some alternatives?
fastbuild - High performance build system for Windows, OSX and Linux. Supporting caching, network distribution and more.
meson - The Meson Build System
tensorflow - An Open Source Machine Learning Framework for Everyone
cmake-init - The missing CMake project initializer
conan - Conan - The open-source C and C++ package manager
imgui - Dear ImGui: Bloat-free Graphical User interface for C++ with minimal dependencies
ninja - a small build system with a focus on speed
wxWidgets - Cross-Platform C++ GUI Library
xtd - Free open-source modern C++17 / C++20 framework to create console, GUI (forms like WinForms) and unit test applications and libraries on Microsoft Windows, Apple macOS and Linux.
sciter - Sciter: the Embeddable HTML/CSS/JS engine for modern UI development