platform_system_core
cmake-init
platform_system_core | cmake-init | |
---|---|---|
2 | 164 | |
1,177 | 1,842 | |
- | - | |
0.0 | 8.1 | |
about 1 year ago | 28 days ago | |
C++ | CMake | |
GNU General Public License v3.0 or later | 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.
platform_system_core
-
Best practice for cpp projects using CMake
As far as scientific studies go, I'm not sure if there are any that support the arguments of the linked proposal, but if you take a look at some of the most complex, large scale projects out there, you'll notice that they follow to a large extent the same structure as the one outlined in the above proposal. For instance, checkout the Google Chromium project, the AOSP projects, abseil, folly and many others. Of course, there will be exceptions so this is not a foolproof argument but I think it's interesting that projects of this scale have been designed this way.
-
just in time
after taking a look at the source code it's because the display field is an integer and it rounds down. that means any decimal value just gets floored to the next integer down.
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?
pitchfork - Pitchfork is a Set of C++ Project Conventions
meson - The Meson Build System
moderncpp-project-template - A Modern C++ cross-platform Project Template with CMake, conan (optional), cppcheck (optional) and clang-format (optional)
w64devkit - Portable C and C++ Development Kit for x64 (and x86) Windows
cmake_conan_boilerplate_template - Minimized version of cpp_starter_project
xmake - 🔥 A cross-platform build utility based on Lua
modern-cmake
fastbuild - High performance build system for Windows, OSX and Linux. Supporting caching, network distribution and more.
ModernCppStarter - 🚀 Kick-start your C++! A template for modern C++ projects using CMake, CI, code coverage, clang-format, reproducible dependency management and much more.
llvm-mingw - An LLVM/Clang/LLD based mingw-w64 toolchain
dockcross - Cross compiling toolchains in Docker images
conan - Conan - The open-source C and C++ package manager