gentoo
cmake-init-vcpkg-example
gentoo | cmake-init-vcpkg-example | |
---|---|---|
52 | 19 | |
2,059 | 9 | |
0.5% | - | |
10.0 | 5.6 | |
2 days ago | 3 months ago | |
Shell | 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.
gentoo
-
Orphaning Bcachefs-Tools in Debian
Still, if you include transitive dependencies you end up with a total of 90 dependencies[0] which is unheard of in systems programming. This for some reason includes stuff like "winapi-i686-pc-windows-gnu" which really has no place for a set of linux software tools.
[0]:https://github.com/gentoo/gentoo/blob/master/sys-fs/bcachefs...
- Backdoor in upstream xz/liblzma leading to SSH server compromise
-
Vulkan Video Extensions for Accelerated H.264 and H.265 Encode
Whilst Firefox may support hardware video decoding, Mesa since March 2022 disables patent encumbered codecs by default[1], and distributions such as Fedora and OpenSuse do not explicitly enable these patent encumbered codecs to avoid possible legal problems. Even Gentoo (built from source code by the user) requires the user to explicitly enable a USE flag (proprietary-codes) to use patent encumbered codecs.[2]
The thought process is that AMD, NVIDIA, Intel and the likes are not providing a patent license with their hardware.[3] They are instead just supplying part of an overall system that together with operating system kernel, display manager software, video player software, etc allows the decoding and encoding of patent encumbered video files. Open source software projects and distributions are concerned they'd be found to be infringing patents by enabling a complete solution out-of-the-box. Hence they put some hurdles in place so that a user has to go out of their way to separately piece together the various parts to form a complete system capable of encoding and decoding patent encumbered codecs.
[1] https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15...
[2] https://github.com/gentoo/gentoo/commit/1265a159743d7f07185a...
[3] https://lists.fedoraproject.org/archives/list/[email protected]...
-
I like gentoo's package deprecation process
Thank you! I don't live in git and this helps! Normally under gentoo I shouldn't have to. This actual git https://github.com/gentoo/gentoo (as opposed to the gentoo browser view) plus this "checkout the commit" should get me much further. ... And probably deserve some space in the gentoo docs.
- Great news java people: Gradle eclass is in the works!
- LLVM stages
-
Is gentoo difficult to maintain as a daily driver?
You choose - here's a list
- Error 2124 when trying to interact with super-block (show-super, set-option)
- HTTP-Tiny: verify_SSL (Draft PR)
-
My CNCF LFX Mentorship Spring 2023 Project at Kubescape
(pending) gentoo/gentoo #30595 sys-cluster/kubescape: new package, add 2.2.6
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)
What are some alternatives?
gentooLTO - A Gentoo Portage configuration for building with -O3, Graphite, and LTO optimizations
CPM.cmake - 📦 CMake's missing package manager. A small CMake script for setup-free, cross-platform, reproducible dependency management.
torbrowser-overlay - Gentoo overlay for Tor Browser related ebuilds
steam-runtime - A runtime environment for Steam applications
cmake-init-conan-example - cmake-init generated executable project with Conan integration
conan-center-index - Recipes for the ConanCenter repository
llvm-overlay - Unofficial experimental gentoo overlay for compiling llvm with additional components
Folly - An open-source C++ library developed and used at Facebook.
cmake-init - The missing CMake project initializer
CMake - Mirror of CMake upstream repository
gentoo-install - A gentoo installer with a TUI interface that supports systemd and OpenRC, EFI and BIOS, as well as variable disk layouts using ext4, zfs, btrfs, luks and mdraid.
Jenkins - Jenkins automation server