[ARAÇ] Conan 2.0 – C++ Paket Yönetim Aracı

Uzun zamandan sonra tekrar merhaba sevgili arkadaşlar. Son yazımdan bu yana uzun bir zaman geçti, gerek kişisel gerekse iş hayatımda oluşan durumlardan ötürü sayfama istediğim kadar vakit ayıramadım açıkçası ama fırsat buldukça yine buradan sizlerle paylaşım yapıyor olacağım.

Bu yazımın konusu da uzun zamandır aslında ihtiyacını hissettiğim paket yönetim aracına yönelik olacak. Python, node.js gibi yazılımların sahip olduğu gibi paket yöneticisine ihtiyacı eminim hepiniz hissetmişsinizdir C++ için. Conan tam olarak bu amaçla geliştirilmiş ve şu ana kadar gördüğüm kadarıyla da, temel ihtiyaçların bir çoğunu karşılıyor görünüyor.

Bu sayfada, paylaştığım bir çok uygulamada sizlerin de tecrübe ettiği üzere, C++ projeleri büyüdükçe, bağımlılık yönetimi karmaşık bir problem haline geliyor.  Boost, fmt, gtest, SDL veya başka bir üçüncü parti kütüphane kullanıyorsanız,  bunların sürümlerini, derleme ayarlarını ve platform uyumluluğunu yönetmek ciddi bir yük haline gelebiliyor. Mevcut projelerimizde genelde bunlara çok dikkat etmiyoruz ya da çok kaba seviye de bir kontrol oluyor (cmake, vcpkg veya benzeri uygulamalar kullanılabiliyor).

İşte bu noktada Conan, C/C++ dünyası için geliştirilmiş bir paket yöneticisi olarak devreye giriyor. Conan, Python tabanlı, açık kaynak bir araç ve temel amacı bağımlılık yönetimini tekrar üretilebilir ve kolay hale getirmektir.

Burada araca yönelik hususları detaylı bir şekilde paylaşmak yerine açıkçası bunu aşağıdaki repoda yapmaya çalıştım:

Öncelikle çok zamanımın olmaması, aynı zamanda da yaşayan bir doküman haline gelmesini istemem sebebi ile bu şekilde yaptım açıkçası. Önümüzdeki yazılarda ama buna değiniyor olacağım, hatta ilk iş SDL bağımlılığını Conan üzerinen nasıl halledebileceğimize bakıyor olmak olacak.

Bu arada Conan ile diğer bir takım paket yönetim araçlarına yönelik karşılaştırmaya ilişkin mimari karar kaydına aşağıdaki adresten ulaşabilirsiniz:

Mimari karar kaydı ne olaki diyorsanız da onun için de sizleri aşağıdaki sayfaya göz atmaya davet ediyorum:

Bir sonraki yazımda görüşmek dileğiyle, iyi okumalar sevgili yazılımperver dostlarım  🙂

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Bu site, istenmeyenleri azaltmak için Akismet kullanıyor. Yorum verilerinizin nasıl işlendiği hakkında daha fazla bilgi edinin.