Kitware, yaygın olarak kullanılan CMake derleme sisteminin 4.3 sürümünü yayınladı. En önemli yenilik, yazılım paketlerini üreticiden bağımsız bir şekilde açıklayan JSON tabanlı bir format olan Ortak Paket Belirtimi (CPS) desteğidir. Sürüm aynı zamanda geliştiricilerin derleme süreci boyunca geçici verileri ve sistem teşhislerini yakalamasına olanak tanıyan bir enstrümantasyon çerçevesi de sunuyor.
Duyurudan sonra devamını okuyun
CMake derleme sistemi, C ve C++ projeleri için fiili standart olarak kabul edilir ve çok sayıda açık kaynak ve ticari projede kullanılır. Önceden paket açıklamaları yalnızca CMake dilinde değiş tokuş edilebiliyordu. CPS spesifikasyonu şu anda 0.14.1 sürümündedir ve Kitware'in duyurusuna göre CMake'in kendi diline bağlı olmayan bir formatta paket açıklamalarının değişimine izin vererek farklı yapı sistemleri arasındaki birlikte çalışabilirliği geliştirmeyi amaçlamaktadır.
Ortak Paket Özellikleri: CMake sözdiziminin ötesindeki paket açıklamaları
Ortak paket spesifikasyonu, ikili paketleri (kitaplıklar, başlıklar ve araçlar) ilgili yapı sisteminden bağımsız olarak çalışan, makine tarafından okunabilen bir JSON formatında açıklar. CPS dosyaları, arayüz hedefleri, mimariye göre desteklenen yapılandırmalar, sürüm uyumluluğu ve lisanslama ayrıntıları hakkında bilgiler içerir. Bu, CMake gibi derleme sistemlerinin yanı sıra Conan gibi paket yöneticilerinin aynı paket açıklamalarını özel bir formata çevirmek zorunda kalmadan kullanmasına olanak tanır.
Kitware özellikle CMake 4.3'te üç merkezi entegrasyon noktası oluşturdu: Komut find_package() Artık CPS paketlerini de arıyor ve bunları içe aktarabiliyor. Siparişler install() VE export() yeni bir alt komut aldı PACKAGE_INFOCPS açıklamaları oluşturmak için kullanılabilir. O da anlıyor project()-Seçenekleri şimdi yönetin COMPAT_VERSION VE SPDX_LICENSEBunlar SUH oluşturulurken otomatik olarak benimsenir. Deneysel CPS desteği önceki 4.x sürümlerinde zaten mevcuttu: Sürüm notlarına göre CMake 4.3 ile işlevsellik artık kararlı kabul ediliyor.
Enstrümantasyon: Derleme süreçlerini gözden geçirin
İnşaat süresinin gerçekte nereye gittiğini bilmek isteyen herkes bunu alabilir. cmake-instrumentation(7) parmaklarınızın ucunda yeni bir araç. Çerçeve, yapılandırma, oluşturma, derleme, test etme ve kurulum gibi tüm aşamalarda yürütme süreleri, çıkış kodları ve CPU kullanımı ve bellek tüketimi gibi sistem parametreleri hakkında ayrıntılı veriler toplar. Ölçülen değerler, derleme dizininde indekslenen snippet dosyalarında bulunur ve geri aramalar kullanılarak daha fazla işlenebilir.
Duyurudan sonra devamını okuyun
Analiz için özellikle pratiktir: CMake 4.3, Google Trace olay formatında enstrümantasyon verileri oluşturabilir. Bu, genel izleme görüntüleyicilerinde derleme süreçlerini Mükemmel olarak görüntülemenize olanak tanır: Derleme veya bağlantı aşamasındaki darboğazlar bir bakışta görülebilir. Ek olarak veriler CDash gönderimlerine akar, böylece ekipler CI/CD operasyonlarındaki derleme performansını da izleyebilir. Etkinleştirme yeni komut kullanılarak yapılabilir cmake_instrumentation() veya proje veya kullanıcı düzeyinde JSON tabanlı sorgu dosyaları aracılığıyla.
Yakında daha fazla yenilik
CMake 4.3, öne çıkan iki özelliğin yanı sıra çok sayıda başka iyileştirmeyi de beraberinde getiriyor. Yaklaşık depolama işlemleri cmake -E tar VE file(ARCHIVE_CREATE) artık yeni bir tane aracılığıyla çoklu iş parçacığını destekliyor --cmake-tar-threads-7zip formatı için LZMA ve PPMd gibi ek sıkıştırma yöntemlerinin yanı sıra yapılandırılabilir sıkıştırma seviyelerini işaretleyin. Yeni komut satırı aracı cmake -E bin2c ikili dosyaları C başlıklarına dönüştürür.
GPU geliştiricileri için önemli: HIP kodu artık SPIR-V hedefleri için örneğin chipStar projesi aracılığıyla derlenebilir. Oradaki komut satırında cmake --version =json-v1 JSON formatında ayrıntılı sürüm bilgileri ve cmake --build artık derleme dizinini ve ön ayarı birlikte belirlemenize olanak tanıyor. Yeni oluşturucu ifadeleri $<STRING:…> derleme komut dosyalarındaki dize işlemlerinin olanaklarını genişletin. Ön ayar dosyaları şemanın 11. sürümünü destekler ve dosya tabanlı API, kod şablonunun 2.10 sürümüne güncellenmiştir.
Yeni değişkenler CMAKE_<LANG>_LINK_FLAGS VE CMAKE_<LANG>_LINK_FLAGS_<CONFIG> tüm hedef türleri için dile özgü bağlayıcı işaretlerini etkinleştirin. Sürüm notları CMake 4.3'teki tüm değişikliklere eksiksiz bir genel bakış sağlar. Yeni sürüm, Windows, macOS ve Linux için ikili paket olarak resmi indirme sayfasından indirilebilir.
(harita)

Bir yanıt yazın