-
Give https://xmake.io a try, it really changed my life as a C++ developer by removing the need to worry about dependencies, and much simpler/friendlier syntax for project description too.
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
-
Since it is recommended to have vcpkg as a submodule (see https://github.com/microsoft/vcpkg), you should be able to use a relative path. This enable you to have different versions of vcpkg across different projects while keeping it sync with your repository.
-
CPM.cmake
📦 CMake's missing package manager. A small CMake script for setup-free, cross-platform, reproducible dependency management.
Fwiw, CPM is a CMake module that wraps FetchContent and adds an optional global cache. It's become my preferred way to manage dependencies in personal projects.
-
I use fmt and others in my project with CMake fetch and it's been a good experience so far: fetch, declare, link in a few lines. Hope this can be useful to someome.
-
Try cmake-init. They have a bunch of templates for conan, vcpkg. It will make your life 10% easier.
-
-
I recently tried vcpkg with this template repo, and it runs like a dream, it actually comes with fmt already included as an example. https://github.com/devtbi/cpp-vcpkg-starter
-
I was referring to a Git submodule. You can find a full example of this setup at https://github.com/njakob/vcpkg-sdl2-report.
-
-
ShaderLang
NZSL (Nazara Shading Language) repository - A shader language inspired by Rust and C++ which compiles to GLSL or SPIRV (without any additional dependency)
Here's a pretty advanced xmake.lua for reference: https://github.com/NazaraEngine/ShaderLang/blob/main/xmake.lua
-
Btw, some US company already use xmake (see https://github.com/EpicGames/zen for example - need to be part of Epic Games org to see it).