conan-center-index
VulkanExamples
Our great sponsors
conan-center-index | VulkanExamples | |
---|---|---|
41 | 5 | |
892 | 327 | |
2.7% | - | |
10.0 | 2.6 | |
6 days ago | 2 months ago | |
Python | C++ | |
MIT License | MIT License |
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.
conan-center-index
-
The xz attack shell script
Conan is a package manager for C/C++. See: https://conan.io/.
The way it works is that you can provide "recipes", which are Python scripts, that automate the process of collecting source code (usually from a remote Git repository, or a remote source tarball), patching it, making its dependencies and transitive dependencies available, building for specific platform and architecture (via any number of build systems), then packaging up and serving binaries. There's a lot of complexity involved.
Here are the two recipes I mentioned:
libcurl: https://github.com/conan-io/conan-center-index/blob/master/r...
OpenSSL v3: https://github.com/conan-io/conan-center-index/blob/master/r...
Now, for the sake of this thread I want to highlight three things here:
- Conan recipes are usually made by people unaffiliated with the libraries they're packaging;
- The recipes are fully Turing-complete, do a lot of work, have their own bugs - therefore they should really be treated as software comonents themselves, for the purpose of OSS clearing/supply chain verification, except as far as I know, nobody does it;
- The recipes can, and do, patch source code and build scripts. There's supporting infrastruture for this built into Conan, and of course one can also do it by brute-force search and replace. See e.g. ZLib recipe that does it both at the same time:
https://github.com/conan-io/conan-center-index/blob/7b0ac710... -- `_patch_sources` does both direct search-and-replace in source files, and applies the patches from https://github.com/conan-io/conan-center-index/tree/master/r....
Now, good luck keeping track of what's going on there.
-
Mokara.io Open Beta (Pre-Built C++ Third-Party Libraries)
Just checkout ConanCenter https://conan.io/center it's free.
-
Looking for projects to contribute to
https://github.com/conan-io/conan-center-index there's 200+ PR that need reviewing :) we add community reviewers fairly often
-
Conan package manager completely broken after 2.0 release
As for ffmpeg it was last updated 10 days ago https://github.com/conan-io/conan-center-index/commits/master/recipes/ffmpeg/all :)
-
PcapPlusPlus in Conan 2.0
This is a more complicated recipe https://github.com/conan-io/conan-center-index/blob/master/recipes/pcapplusplus/all/conanfile.py
-
OpenSSL 3.1 Released
You can use the Conan package manager with prebuilt binaries/libraries
https://conan.io/center
-
Compiling CrowCPP on Windows and about to kms
It's available in Conan too https://github.com/conan-io/conan-center-index/tree/master/recipes/crowcpp-crow though it's not well maintained so no promises if it's working
-
Is there a way to make sure that my friend on windows can compile my c++ project that i made on linux?
You need something like https://conan.io/center/ to install the dependencies. You're lucky because it works well with CMake.
-
Conan 2.0, the new version of the open-source C and C++ package manager
This post on github contains a list of packages supported by conan 2.0, its also kept up to date https://github.com/conan-io/conan-center-index/discussions/16196
-
First piece of complex CMake code. Need good roasting to help improeve.
Use a package manager: https://vcpkg.link/ https://conan.io/center/
VulkanExamples
-
Dependency management with Cmake FetchContent
cmake_minimum_required(VERSION 3.11) project(my_project LANGUAGES CXX VERSION 1.0 ) include(FetchContent) FetchContent_Declare( glfw GIT_REPOSITORY "https://github.com/glfw/glfw" GIT_TAG dd8a678a66f1967372e5a5e3deac41ebf65ee127 ) message("Fetching glfw...") FetchContent_MakeAvailable(glfw) FetchContent_Declare( vulkan GIT_REPOSITORY "https://github.com/KhronosGroup/Vulkan-Hpp" GIT_TAG 429c4c522c65d10ec6df4633a1b78fc28aca7dc3 ) message("Fetching vulkan") FetchContent_MakeAvailable(vulkan) add_executable(my_project src/main.cpp) target_link_libraries(my_project PRIVATE glfw) target_link_libraries(my_project PRIVATE vulkan)
-
Two new Vulkan samples from The Khronos Group! (Profiles and C++ bindings)
The second sample comes from NVIDIA. It shows a transcoded version of the API sample, High Dynamic Range, and illustrated the usage of the C++ binding of Vulkan provided by Vulkan.hpp. Sample - https://github.com/KhronosGroup/Vulkan-Samples/tree/master/samples/api/hpp_hdr Vulkan.hpp - https://github.com/KhronosGroup/Vulkan-Hpp
-
Thriving in a Crowded and Changing World: C++ 2006–2020 [pdf]
or https://github.com/KhronosGroup/Vulkan-Hpp which help quite a bit. Or https://github.com/VcDevel/std-simd.
If you want GUIs, same, you have at least (but not only) Qt or WxWidgets.
Want to interface scripting? Pybind11, Boost.Python, WrenBind17 for Wren, Sol2 for Lua... and all things that interface to C work also if you feel brave...
I really think that when it is about getting the job done... C++ goes a long way towards the task.
This is my 20 year experience of C++, almost 13 of those years professionally. Now, back to read the paper. :)
-
Practice project ideas
If you're not a complete beginner, the vulkan.hpp version of Sascha Willems' samples is out of date, you could contribute some updated examples. You'd get a decent overview of various Vulkan features and become familiar with both the C and C++ APIs.
-
Vulkan Hpp cheatsheet
I don't have a cheat sheet but I do have a repository with a bunch of examples that use the C++ api https://github.com/jherico/vulkan
What are some alternatives?
Vcpkg - C++ Library Manager for Windows, Linux, and MacOS
std-simd - std::experimental::simd for GCC [ISO/IEC TS 19570:2018]
libpq - build2 package for PostgreSQL C client library
kompute - General purpose GPU compute framework built on Vulkan to support 1000s of cross vendor graphics cards (AMD, Qualcomm, NVIDIA & friends). Blazing fast, mobile-enabled, asynchronous and optimized for advanced GPU data processing usecases. Backed by the Linux Foundation.
cmake-init-vcpkg-example - cmake-init generated executable project with vcpkg integration
C++ REST SDK - The C++ REST SDK is a Microsoft project for cloud-based client-server communication in native code using a modern asynchronous C++ API design. This project aims to help C++ developers connect to and interact with services.
Open-Source Vulkan C++ API - Open-Source Vulkan C++ API
neuronika - Tensors and dynamic neural networks in pure Rust.
glbinding - A C++ binding for the OpenGL API, generated using the gl.xml specification.
VulkanHelper - A simple helper interface between Vulkan C API and C++ containers