cmake-init-vcpkg-example
cmake-init-conan-example
cmake-init-vcpkg-example | cmake-init-conan-example | |
---|---|---|
19 | 12 | |
9 | 15 | |
- | - | |
5.6 | 5.8 | |
20 days ago | 20 days ago | |
CMake | CMake | |
- | - |
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-vcpkg-example
-
Clang-tidy ignore third party
If your dep is not on any of those, then you can write your own port with vcpkg very easily like this.
-
How would you create/maintain a new c++ project using modern tools/practices?
Are they only on git(hub)? You can write a vcpkg overlay port (example) or use FetchContent if the projects are FetchContent ready in a way that doesn't force FetchContent on people trying to build the project (example).
-
CMake/Make problem when compiling C++
Take a look at cmake-init, vcpkg and this example that shows how to pull dependencies from git(hub) using vcpkg's overlay ports.
-
How to download libraries with vcpkg?
cs50 doesn't appear to be present in the MS repo. No problem, you can write your own overlay port. You can find an example for that here: https://github.com/friendlyanon/cmake-init-vcpkg-example
-
Managing Newlib as a Project Dependency
You can take a look at vcpkg or Conan. Maybe vcpkg could be simpler here, because overlay ports are simpler to write than setting up Artifactory for Conan.
-
Best way to manage dependencies with c++?
Conan and vcpkg are the only options. I use them both, depends on what kinds of dependencies I want to pull. vcpkg is easier to setup custom one-off dependencies with using overlay ports, while Conan is faster at things if your profile fits one that has a pre-built binary in CCI. Both are trivial to integrate with a CMake project, see these examples for Conan and vcpkg.
-
Libraries
Here is an example that shows you how to write your own ports for libraries that don't have one provided by vcpkg. The alternative is doing it manually, but eh.
-
CMakePresets.json and vcpkg based GitHub Action workflows for C++
As part of the cmake-init examples I also have an example showing vcpkg integration with a CMake project with exact instructions on what that takes, which also involves CI.
-
Barbarian, an open and distributed Conan package index!
Overlay ports.
-
Problem with imported library
IMPORTED targets have directory scope, they aren't global like the other target types. Depending on what your project's type is and how it's used, the correct answer can vary from just requiring a path to be passed on the CLI to proper package management usage (e.g. vcpkg)
cmake-init-conan-example
-
Conan and cmake library problems
I haven't really used conan but you should not use the cmake generator, you should use the CMakeDeps and CMakeToolchain generators instead. That might solve your problem, after all there is a reason why the cmake generator is being deprecated. Check this for an example: https://github.com/friendlyanon/cmake-init-conan-example
-
If I want to import a library/module from github into my C program where do I git clone it?
Use a package manager. This example shows how to use vcpkg to get json-c. You can do the same using Conan as well.
-
How do I add a configure step to cmake?
You ought to call Conan before configuring. Take a look at this example.
-
Best way to manage dependencies with c++?
Conan and vcpkg are the only options. I use them both, depends on what kinds of dependencies I want to pull. vcpkg is easier to setup custom one-off dependencies with using overlay ports, while Conan is faster at things if your profile fits one that has a pre-built binary in CCI. Both are trivial to integrate with a CMake project, see these examples for Conan and vcpkg.
-
How to build libvpx as a shared library for my project?
More details in this example project.
-
3rd party library delivery
I have an example for Conan integration that I'm planning on revisiting, since it was made when I knew less about Conan. If you are interested in a concrete example, you can check it out later.
-
CMake 3.22.0 available for download - Kitware Blog
Integrating with Conan is already pretty straightforward, you just need a short script to glue things together via the Conan provided CMake utility.
-
Some GithubCI (and not only) help needed
You can check out the CI for this example project. It doesn't yet have caching for Conan setup, but Qt has prebuilt binaries in the CCI anyway, so that's not really that big of a deal.
-
Make your commits prettier with Catify, a C++ project
The CMake scripts could definitely use improvement. Here is an example using Conan that also installs fmt. The shell scripts can also be entirely replaced with CMake presets, also examplified in the earlier link.
-
what can I say, lol
Or Conan + CMake. In fact, I would much prefer to use Conan in a company environment, but vcpkg is top notch for open source. Not to say Conan is bad at that, not even close, but its features are excellent to get companies to move to package managers.
What are some alternatives?
CPM.cmake - 📦 CMake's missing package manager. A small CMake script for setup-free, cross-platform, reproducible dependency management.
gentoo - [MIRROR] Official Gentoo ebuild repository
steam-runtime - A runtime environment for Steam applications
Geany - A fast and lightweight IDE
conan-center-index - Recipes for the ConanCenter repository
icecream - Distributed compiler with a central scheduler to share build load
Folly - An open-source C++ library developed and used at Facebook.
cache - Cache dependencies and build outputs in GitHub Actions
CMake - Mirror of CMake upstream repository
ASP.NET Core - ASP.NET Core is a cross-platform .NET framework for building modern cloud-based web applications on Windows, Mac, or Linux.
Jenkins - Jenkins automation server
lcd - An LCD module simulator based on HD44780 microcontroller simulation