[ENHANCEMENT] Integration with existing dependency package managers
ethindp opened this issue ยท 1 comments
Integration with existing package managers
Library
all
Enhancement
There are several C++ package managers for dependencies, such as conan, vcpkg and cpm. It would be worth it to provide instructions on using xtd with the major package managers.
Description
Conan and cpm are CMake package managers. Conan relies on external tools, but cpm is completely integrated into CMake (see https://github.com/cpm-cmake/CPM.cmake). As you probably know, vcpkg is Microsoft's (quite successful) attempt at creating a package manager for C++ applications and libraries. XTD would be a great addition to the VCPKG ports collection.
Tasks
- Create
deb
andrpm
package swith CPack of CMake . - Create
home-brew
formula for macOS. - Automate the generation of
deb
andrpm
packages for different platofrm x86, arm, ... in 32 and 64 bits. - Host the different
deb
andrpm
packages - Add xtd to the
vcpkg
collection
Hello @ethindp,
First of all, thank you for your interest in xtd. ๐
I agree with you. That's why, for version 0.2.0, xtd has integrated package management with cpack of CMake.
Here is the current packet status for xtd 0.2.0:
- deb and rpm package generation has been added for linux.
- The homebrew formula has been added for macOS.
- However, for Windows, nothing has been done yet. Neither with Microsoft's vcpkg, nor with chocolatey. ๐
But this can only be used when xtd 0.2.0 is tagged.
Even if the deb
and rpm
packages can be generated. It will still be necessary to automate the package generation.
And it will be necessary to have a server to host the packages for the package managers to fetch them.
Indeed, it would be great to add xtd to the vcpkg port collection.
If I may ask: You propose this kind of development maybe you are a regular. Your help to add xtd to [vcpkg](https://vcpkg.io/en/index.html) would be welcome ๐Remarks
- I didn't know CPM.cmake. I will look at what it can bring to xtd. Thanks for the info ๐
Regards,
Gammasoft71